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

Electron应用启用自动更新后报错Can not find Squirrel如何解决

问题根因

你当前使用nsis作为electron-builder的Windows打包目标,NSIS安装包默认不集成Squirrel.Windows更新框架,不会生成Update.exe文件。而Electron内置的自动更新模块在Windows环境下默认依赖Squirrel.Windows实现,缺少该文件就会抛出Can not find Squirrel错误。

解决方案

方案一:调整打包配置适配内置自动更新

如果你要继续使用Electron内置的自动更新模块,需要将squirrel添加到Windows打包目标中,修改后的配置参考如下:

"win": {
    "target": [
        "squirrel",
        "nsis"
    ],
    "defaultArch": "x64",
    "verifyUpdateCodeSignature": false
},
// 可选:补充squirrel专属配置项
"squirrelWindows": {
    "iconUrl": "本地应用ico文件路径/可公开访问的ico在线地址",
    "loadingGif": "安装过程加载动图本地路径(非必填)"
}

打包后会生成两类安装包:

  • Squirrel格式的.exe安装包:用户安装后,安装目录会自动生成Update.exe,可正常使用内置自动更新功能
  • 原有NSIS格式安装包:依然会生成,但该版本安装后无Update.exe,无法使用内置自动更新

方案二:替换自动更新模块(更灵活)

如果你不想切换到Squirrel打包,可放弃Electron内置的自动更新模块,改用electron-updater模块实现更新能力。该模块同时兼容NSIS、Squirrel两种打包格式,不需要依赖Update.exe文件,配置更灵活。

注意事项

  • 使用Squirrel格式安装包时,需确保用户的安装路径不含中文、特殊字符,否则可能依然出现Squirrel识别失败的问题
  • 若使用Squirrel更新,服务端需按规范存放对应版本的RELEASES文件和.nupkg安装包,才能正常触发更新检测

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.10 06:18:02