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

Codemagic构建失败:未设置GitHub Personal Access Token求助

Electron-Builder在Codemagic构建Mac版本时GH_TOKEN报错及无产物问题解决

问题分析

你遇到两个核心问题:

  1. 构建接近完成时因GH_TOKEN未设置报错,尝试的多种环境变量注入方式均未生效
  2. 添加--publish=never后无报错,但无法生成预期的dmg产物

解决步骤

1. 正确配置GH_TOKEN(安全且有效)

不要在脚本里硬编码令牌,利用Codemagic的环境变量组管理:

  • 进入Codemagic项目的Environment variables设置页面
  • 在你使用的prod环境组中添加GH_TOKEN变量,值为你的GitHub个人访问令牌,勾选Secure选项防止泄露
  • 构建时Codemagic会自动将该变量注入环境,electron-builder可直接读取process.env.GH_TOKEN

2. 修复--publish=never无产物的问题

添加该参数后本应生成本地安装包,无产物需排查以下几点:

  • 确认React构建步骤yarn build成功生成build目录,且build/electron.js文件存在(你的命令指定了该路径作为主入口)
  • 检查package.json中的build配置段,确认输出目录为out/make(与你在artifacts中配置的路径一致)
  • 修正electron-builder命令,明确发布模式:
    yarn electron-builder -m --publish=never -c.extraMetadata.main=build/electron.js
    

3. 优化后的Codemagic配置

移除脚本中硬编码的GH_TOKEN,依赖环境变量组注入即可:

workflows: 
  macos-build:
    name: macOS Build
    instance_type: mac_pro
    environment:
      groups:
        - prod 
      node: 16.14.0

    scripts:
      - name: Injecting env vars
        script: echo "REACT_APP_API_KEY=$REACT_APP_API_KEY" >> .env
      - name: Installing packages
        script: yarn install
      - name: Building Applications - React
        script: yarn build
      - name: Building Application - Electron
        script: yarn electron-builder -m -c.extraMetadata.main=build/electron.js 

    artifacts:
      - out/make/*.dmg

关键说明

electron-builder默认会尝试将产物发布到GitHub Releases,因此需要GH_TOKEN权限。若无需发布,必须显式指定--publish=never,同时确保React构建产物路径正确、electron-builder配置无误,才能生成目标dmg文件。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.18 11:05:39