Codemagic构建失败:未设置GitHub Personal Access Token求助
Electron-Builder在Codemagic构建Mac版本时GH_TOKEN报错及无产物问题解决
问题分析
你遇到两个核心问题:
- 构建接近完成时因
GH_TOKEN未设置报错,尝试的多种环境变量注入方式均未生效 - 添加
--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
相关产品推荐
相关产品推荐

