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

Electron autoUpdater报错:更新检查失败,JSON响应无效求助

Electron autoUpdate 提示无效JSON响应的排查与解决

问题核心分析

你遇到的SQRLUpdaterErrorDomain code:6错误,本质是Electron更新模块无法正确解析服务端返回的JSON响应,结合返回内容,最可能的原因有两点:

1. URL字段缺少完整协议

返回的url值为backoffice-electron-updater-1auzox7wu-common-ground.vercel.app/download/darwin?update=true,属于无协议的相对地址。Electron autoUpdate要求更新包下载链接必须是带https://的完整绝对URL,缺少协议会导致模块无法识别有效下载路径,进而判定整个JSON响应无效。

2. 响应头Content-Type不符合要求

Electron更新模块仅会正确解析Content-Type为application/json的响应。如果Vercel上的Hazel服务返回的响应头中该字段缺失或被设为其他值(如text/plain),也会触发JSON无效的错误。

验证与解决步骤

步骤1:修复响应中的URL字段

修改Hazel服务返回的url值,补充完整的HTTPS协议,示例:

{"name":"v1.2.367","notes":"","pub_date":"2023-03-09T16:01:51Z","url":"https://backoffice-electron-updater-1auzox7wu-common-ground.vercel.app/download/darwin?update=true"}

若使用Vercel托管Hazel,需确认Hazel是否从GitHub Releases正确获取到带完整协议的下载链接——检查私有仓库Release中安装包的下载地址是否为完整HTTPS链接,同时确保配置的TOKEN拥有私有仓库的读取权限。

步骤2:验证响应头的Content-Type

用curl命令检查服务端响应头:

curl -I https://backoffice-electron-updater.vercel.app/update/darwin/1.2.366

确认输出中包含Content-Type: application/json。若缺失,需在Vercel的Hazel项目中配置响应头,确保返回正确的Content-Type。

步骤3:验证JSON格式的严格有效性

用curl获取完整响应并验证JSON语法:

curl https://backoffice-electron-updater.vercel.app/update/darwin/1.2.366 | jq .

若jq能正常解析并格式化输出,说明JSON语法无问题;若报错,需检查响应是否包含多余空格、换行或HTML内容(如Vercel的错误页输出)。

额外排查点

  • 快速核对autoUpdater.setFeedURL()配置的URL是否为完整有效地址(你已说明传入正确链接,此步可快速确认);
  • 由于使用M1芯片的macOS 13,确保更新包适配arm64架构(此点不会直接导致JSON无效错误,但会影响后续更新流程)。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.28 17:45:34