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

如何在Apple Silicon Mac上用electron-builder构建通用包?

如何强制electron-builder在M1 Mac上构建单个通用Mac包?

解决方案

1. 调整electron-builder配置文件

在项目的package.json的build字段,或者独立的electron-builder.yml配置文件中,明确指定构建目标为通用架构:

package.json 配置示例

"build": {
  "mac": {
    "target": [
      {
        "target": "dmg", // 可替换为你需要的包格式,比如pkg
        "arch": ["universal"]
      }
    ],
    "universal": true
  }
}

electron-builder.yml 配置示例

mac:
  target:
    - target: dmg
      arch: [universal]
  universal: true

2. 强制包含Intel架构依赖

由于你的应用依赖Intel编译的二进制文件,若出现该文件被自动过滤的情况,可通过extraResources配置强制将其加入包中:

"build": {
  "extraResources": [
    {
      "from": "你的Intel二进制文件路径",
      "to": "./",
      "filter": ["**/*"]
    }
  ]
}

该二进制文件会被包含在通用包中,运行时Rosetta会自动处理兼容。

3. 命令行直接指定参数

如果通过命令行触发构建,可直接添加--universal参数强制生成通用包:

electron-builder --mac universal

注意事项

  • electron-builder v23+ 版本默认在Apple Silicon设备上会分开生成x64和arm64包,通过上述配置可覆盖默认行为
  • 通用包会合并x64和arm64架构的Electron主程序,同时保留你的Intel依赖,不影响通过Rosetta运行

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.20 20:54:15