我已经使用PRIVATE GitHub Repository实现了Electron AutoUpdater作为提供者来发布电子应用程序。现在,我可以使用GitHub存储库发布它,但是每当AutoUpdater尝试从GitHub存储库下载更新时,每次它提示时都显示响应代码404 Not found.。我尝试在setFeedURL方法中传递令牌,并在GH_TOKEN中进行设置,但看起来像这样也不起作用。
autoUpdater.setFeedURL({ provider: 'github'
, owner: 'owner'
, repo: 'repo-name'
, token: 'token'
, private: true });
那么,有什么方法可以使其与PRIVATE GitHub Repository一起使用?
答案 0 :(得分:1)
您是否正在使用电子auto-updater模块?从API documentation中可以看到它们不支持。
另一方面,如果您使用的是electron-updater模块,请确保遵循recommended release workflow,并且不应该使用setFeedURL检查注释here
已更新:
如果您使用的是electron-updater,并且要发布到私有存储库,则需要确保您的令牌在app-update.yml
文件中可用,这就是为什么很多人说不建议使用该令牌的原因,如果未在app-update.yml
文件中设置令牌,则会得到404。
要让electron-updater自动将令牌添加到app-update.yml
文件中,应在发布部分中设置令牌,如下所示:
"publish": [
{
"provider": "github",
"private": true,
"owner": "<github_owner>",
"repo": "<repo_name>",
"token": "<your github token>"
}
],
这将产生一个app-update.yml
文件,如下所示:
owner: <github_owner>
repo: <repo_name>
provider: github
private: true
token: <your github token>
updaterCacheDirName: electron-updater-private-updater
选中此small video
这是我的代码https://github.com/linuxjuggler/electron-auto-update-example,检查electron-builder.json
文件。
答案 1 :(得分:1)
Auto-Update-您可以看到私有github仓库仅在非常特殊的情况下有效,并且他们建议使用单独的仅发布库来分发发布,以便将源锁定,并且可以将其分发给受控对象。机器。这是一个有用的功能,因为不需要服务器,但需要特殊的用例。另外,您可以将其与s3存储桶或其他一些升级服务器配合使用。
答案 2 :(得分:0)
我发现这个 AutoUpdater Git Repo 非常有帮助,我的代码现在正在运行。我需要做的唯一更改是在 github yml 设置中,添加来自 github 的 token=<PersonalAccessToken>
。
您可以从 Github > Settings > Developer Settings > Personal access tokens > Generate New Token