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

Electron使用electron-updater对接GitHub私有库自动更新找不到安装包报错

报错原因
  • 核心问题是electron-updater查找的安装包文件名,和GitHub Release里上传的附件文件名不匹配,具体有以下几种常见触发场景:
    1. 你的electron-builder配置里的artifactName(产物命名规则)包含非法字符:从运行日志可以看到待下载的安装包路径带有/分隔符(比如@cloudreign/app-setup-21.6.9.exe),但GitHub Release的附件名称不允许包含/,上传时文件会被自动重命名或上传失败,导致匹配失败。
    2. 上传Release时漏传了对应版本的安装包,或者上传的安装包版本、名称和配置中要求的不一致,包括大小写差异。
    3. electron-builder的publish字段配置错误,没有正确指定GitHub仓库信息,导致autoUpdater拉取Release的路径、文件匹配规则出错。
    4. 目标Release处于草稿状态,或者是预发布版本且没有开启allowPrerelease配置,GitHub API不会返回对应附件信息。
解决方法
  1. 修正electron-builder的产物命名规则
    在你的package.json的build字段,或者forge.config.js的electron-builder配置项中,修改artifactName规则,去掉路径分隔符/,示例配置:
"build": {
  "productName": "app",
  "artifactName": "${productName}-setup-${version}.${ext}",
  "publish": {
    "provider": "github",
    "owner": "你的GitHub用户名",
    "repo": "你的仓库名",
    "releaseType": "release",
    "allowPrerelease": false
  }
}

上述配置生成的安装包名称会是app-setup-21.6.9.exe,和报错中查找的文件名完全一致。

  1. 核对上传的Release附件
    重新打包生成安装包后,将生成的app-setup-21.6.9.exe、latest.yml(Windows更新必须的元数据文件)一同上传到对应版本的GitHub Release中,确保文件名完全匹配,且Release已发布(不是草稿状态)。

  2. 验证更新逻辑
    重新打包客户端测试,autoUpdater会自动匹配对应Release下的同名附件,完成更新流程。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.27 20:45:00