You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

electron-vue打包报No native build was found for platform=win32错误如何解决

解决方案

1. 调整vue.config.js配置

在项目根目录的vue.config.js文件中补充electronBuilder相关配置,明确标注原生模块不需要webpack处理,同时强制打包时包含对应二进制文件:

module.exports = {
  pluginOptions: {
    electronBuilder: {
      // 声明ffi相关原生模块为外部依赖,跳过webpack编译
      externals: ['ffi-napi', 'ref-napi', 'ref-struct-napi'],
      nodeModulesPath: ['./node_modules'],
      builderOptions: {
        files: [
          "**/*",
          "!node_modules/*/{CHANGELOG.md,README.md,README,readme.md,readme}",
          "!node_modules/*/{test,__tests__,tests,powered-test,example,examples}",
          "!node_modules/*.d.ts",
          // 保留ffi相关依赖的所有文件,包含预编译二进制
          "!node_modules/!(@ffi-napi|ref-napi|ref-struct-napi)/**"
        ],
        win: {
          target: "nsis"
        }
      }
    }
  }
}

2. 为electron重新编译原生模块

开发环境运行正常是因为ffi-napi使用的是适配本地Node版本的编译产物,和electron内置的V8版本不兼容,需要使用electron-rebuild重新编译对应版本:

  • 安装electron-rebuild开发依赖:npm install electron-rebuild -D
  • 在package.json的scripts字段中新增命令:"rebuild": "electron-rebuild -f -w ffi-napi,ref-napi,ref-struct-napi"
  • 执行编译命令:npm run rebuild
  • 编译完成后再执行打包命令:npm run electron:build

如果需要打包32位Windows应用,执行rebuild命令时指定架构:npm run rebuild -- --arch=ia32

3. 验证本地编译环境

如果rebuild过程报错,确认本地已安装Windows平台原生编译所需依赖:

  • 安装Visual Studio Build Tools 2019及以上版本,勾选「C++ 桌面开发」组件
  • 安装Python 3.7~3.10版本,配置好系统环境变量

4. 锁定ffi相关依赖版本

部分高版本ffi-napi缺失win32平台预编译包,推荐锁定以下版本:

  • 卸载现有版本:npm uninstall ffi-napi ref-napi ref-struct-napi
  • 安装指定版本:npm install ffi-napi@4.0.3 ref-napi@3.0.3 ref-struct-napi@1.1.0 -S

兜底处理方案

如果上述操作完成后仍报错,删除项目根目录下的node_modules文件夹、package-lock.json文件,重新依次执行npm install、npm run rebuild、npm run electron:build命令即可。

内容的提问来源于stack exchange,提问作者shuwenkai

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.28 01:36:03