Electron应用Mac端自动更新:GitHub仓库需放置哪些资源?
解决Electron
update-electron-app Mac自动更新资源匹配问题 核心问题定位
你上传的是dmg镜像的压缩包,但update-electron-app依赖的更新机制需要的是electron-packager直接生成的签名后应用程序zip包(而非dmg安装包的压缩版),这是导致资源匹配失败的核心原因。
需在GitHub公开仓库中放置的资源及配置步骤
创建对应版本的公开GitHub Release
必须创建标签与最新版本3.8.76完全匹配的Release(标签可以是3.8.76或v3.8.76,但要保证应用package.json中的version字段与标签的版本号部分一致),且Release必须设置为公开状态(不能是草稿或私有)。上传正确格式的更新资源
生成并上传符合命名规则的应用程序zip包:- 用
electron-packager直接打包签名后的arm64应用:electron-packager . --platform=darwin --arch=arm64 --out=dist --overwrite --icon=your-icon.icns --sign="你的苹果开发者签名身份" - 将打包生成的
app_name-darwin-arm64文件夹(内含.app程序文件)压缩为zip,文件名需包含darwin-arm64或mac-arm关键词,例如app_name-darwin-arm64-3.8.76.zip,确保匹配报错中的正则*(mac|darwin|osx).*(-arm).*.zip。 - 将此zip包上传到刚才创建的GitHub Release中,dmg安装包可作为可选附件上传(供用户手动安装),但不是自动更新必需的资源。
- 用
修正更新请求路径
你的设备架构是arm64,所以请求路径应改为https://update.electronjs.org/{{owner}}/{{repo}}/darwin-arm64/0.1.0(原路径中的darwin-x64与你的架构不匹配,会导致工具找不到对应架构的资源)。
验证步骤
手动访问修正后的更新请求URL,若返回包含3.8.76版本号和对应zip资源下载链接的JSON响应,说明配置正确,此时update-electron-app即可正常检测到更新。
内容的提问来源于stack exchange,提问作者Adam Marsh
相关产品推荐
相关产品推荐

