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

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包:

    1. 用electron-packager直接打包签名后的arm64应用:
      electron-packager . --platform=darwin --arch=arm64 --out=dist --overwrite --icon=your-icon.icns --sign="你的苹果开发者签名身份"
      
    2. 将打包生成的app_name-darwin-arm64文件夹(内含.app程序文件)压缩为zip,文件名需包含darwin-arm64或mac-arm关键词,例如app_name-darwin-arm64-3.8.76.zip,确保匹配报错中的正则*(mac|darwin|osx).*(-arm).*.zip。
    3. 将此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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.16 18:30:06