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

Electron Forge:GitHub发布器未创建任何Release问题排查

Electron Forge GitHub发布无报错但未创建Release的排查方案

我用yarn create electron-app my-app创建了Electron应用,托管在GitHub仓库,已经在package.json和forge.config.js中配置了GitHub发布器,但执行yarn run publish后日志显示成功,却没在GitHub生成Release,问题出在哪?

执行日志:

$ electron-forge publish
✔ Checking your system
✔ Loading configuration
✔ Resolving publish targets
  › Publishing to the following targets: github
✔ Running make command
  ✔ Loading configuration
  ✔ Resolving make targets
    › Making for the following targets: zip
  ✔ Running package command
    ✔ Preparing to package application
    ✔ Running packaging hooks
      ✔ Running generateAssets hook
      ✔ Running prePackage hook
    ✔ Packaging application
      ✔ Packaging for x64 on linux [1s]
    ✔ Running postPackage hook
  ✔ Running preMake hook
  ✔ Making distributables
    ✔ Making a zip distributable for linux/x64 [9s]
  ✔ Running postMake hook
    › Artifacts available at: ***/my-app/out/make
✔ Publishing distributables
  ✔ [publisher-github] Running the publish command
    › Uploading distributable (1/1 to v1.0.0)

可能的原因及解决方法

1. GitHub访问令牌权限不足

  • 确保使用的GitHub Personal Access Token(PAT)拥有repo完整权限,包含创建Release和上传资产的权限;若为组织仓库,需确认令牌有该组织仓库的访问权限。
  • 检查环境变量GITHUB_TOKEN是否正确设置,或forge.config.js的GitHub发布器配置中是否正确传入令牌。

2. 目标版本号已存在Release

日志显示要上传到v1.0.0,先去GitHub仓库的Releases页面确认是否已存在同版本的Release。Electron Forge默认不会覆盖已存在的Release,会直接跳过上传。

  • 解决方案:修改package.json中的version字段为新版本(如v1.0.1),重新执行发布命令。

3. GitHub发布器配置不完整

检查forge.config.js中的GitHub发布器配置是否包含必要字段:

module.exports = {
  // ...其他配置
  publishers: [
    {
      name: '@electron-forge/publisher-github',
      config: {
        repository: {
          owner: 'amblafont', // 你的GitHub用户名
          name: 'essai-electron' // 对应仓库名
        },
        prerelease: false, // 根据需求设置是否为预发布版本
        draft: false // 若设为true,Release会是草稿状态,不会在公开列表显示
      }
    }
  ]
};
  • 重点确认repository的owner和name与实际仓库一致,draft是否被误设为true。

4. 本地Git标签未同步到远程

Electron Forge默认会根据package.json的版本号创建Git标签并推送到远程,若本地标签未同步,可能导致发布流程异常:

  • 执行git tag查看本地是否有v1.0.0标签,无则执行git tag v1.0.0创建;
  • 执行git push origin v1.0.0将标签推送到远程仓库,再重新执行发布命令。

5. 网络或代理问题

虽日志显示上传成功,但网络波动可能导致上传中断却未触发报错:

  • 切换到稳定网络环境,关闭代理后重新发布;
  • 添加--verbose参数执行发布命令(yarn run publish --verbose),查看更详细的上传日志,定位问题。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.02 19:36:10