尝试使用Electron的autoUpdate模块时,它会从我的Vercel应用程序中获取更新,例如:
https://backoffice-electron-updater.vercel.app/update/darwin/1.2.366
这个回答似乎是正确的:
{"name":"v1.2.367","notes":"","pub_date":"2023-03-09T16:01:51Z","url":"backoffice-electron-updater-1auzox7wu-common-ground.vercel.app/download/darwin?update=true"}
接收此更新JSON响应的电子应用程序随后抛出错误:
[Error: Update check failed. The server sent an invalid JSON response. Try again later.] {
code: 6,
domain: 'SQRLUpdaterErrorDomain'
}
我不确定为什么这个响应是无效的,是JSON响应中缺少一个键吗?
- 我正在M1 13.0上进行测试
- 电子版为23.1.1
- 应用程序发布背后是一个私人的github回购。
- 应用发布由苹果公司成功公证
- Hazel服务器配置了环境变量TOKEN(我的github个人令牌)。
- 传递给setFeedURL()的url参数为https://backoffice-electron-updater.vercel.app/update/darwin/1.2.366
1条答案
按热度按时间vwkv1x7d1#
经过长时间的调试,我发现电子自动更新模块不接受从非https URL获取更新包。
Vercel的URL env变量没有https。
修改Hazel源代码以添加https修复了该问题:https://github.com/vercel/hazel/blob/master/lib/routes.js#L167
如果你使用的是Github私有回购协议,只需将其更改为: