electron-builder设置publish为always无报错却未在GitHub创建Release
问题根因定位
你遇到的这个问题90%的概率是GitHub Token配置错误或者默认生成了草稿Release未被发现,结合你日志里反复出现的token警告,优先排查以下几点:
排查&解决步骤
修正Token配置
日志里的"token" specified in the github publish options. It should be used only for setFeedURL警告已经指明了第一个错误:你把GitHub PAT写到了electron-builder.yml的publish配置里,这是不生效的配置方式。
正确做法是删除配置文件里的token字段,将Token存入环境变量GH_TOKEN:
Windows cmd终端运行:set GH_TOKEN=你生成的GitHub个人访问令牌 npm run deployWindows PowerShell终端运行:
$env:GH_TOKEN="你生成的GitHub个人访问令牌" npm run deploy检查GitHub个人访问令牌权限
你生成的PAT需要开通对应权限才能创建Release:- 经典PAT需要勾选
repo全权限 - 细粒度PAT需要在对应仓库的权限设置里,将
Contents权限设为读写
- 经典PAT需要勾选
检查仓库Release草稿区
electron-builder默认会将新创建的Release设为草稿状态,不会直接公开展示。你可以打开GitHub仓库的Releases页面,切换到Draft标签,查看是否已经生成了v1.0.1的草稿,手动点击Publish release即可公开。
如果想要自动发布无需手动确认,可以在electron-builder的publish配置中添加releaseType: release参数。确认仓库配置权限
检查package.json里的repository地址是否为你拥有读写权限的仓库,不要填成了其他你无权限的仓库地址。可选:升级electron-builder版本
你当前使用的22.11.7版本已经比较老旧,可能存在GitHub API适配问题,升级到最新稳定版可以规避很多未知bug。
内容的提问来源于stack exchange,提问作者Sriram Sridharan

