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

Mac端Electron应用签名失败求助(codesign报errSecInternalComponent)

Electron Builder 打包DMG时出现errSecInternalComponent签名错误解决方法

问题场景

重新创建代码签名证书后,执行electron-builder -m打包生成DMG文件时触发以下错误:

⨯ Command failed: codesign --sign 10B5CDF2F53C606C4E1DC2E7331AD595210D5420 --force --timestamp --options runtime --entitlements /Users/macbookpro/Desktop/twitter_tracker/node_modules/app-builder-lib/templates/entitlements.mac.plist /Users/macbookpro/Desktop/twitter_tracker/dist/mac/Twitter Tracker.app/Contents/Frameworks/Electron Framework.framework/Versions/A/Resources/af.lproj/locale.pak
/Users/macbookpro/Desktop/twitter_tracker/dist/mac/Twitter Tracker.app/Contents/Frameworks/Electron Framework.framework/Versions/A/Resources/af.lproj/locale.pak: errSecInternalComponent
failedTask=build

已尝试删除并重装node_modules,问题未解决。

解决方案

针对errSecInternalComponent签名错误,可按以下步骤排查修复:

  • 验证钥匙串访问权限
    打开「钥匙串访问」应用,在「登录」钥匙串的「我的证书」分类下找到开发者证书,右键点击选择「显示简介」,切换到「访问控制」标签页:

    • 确保codesign被添加到「允许所有应用访问此项目」列表
    • 若未添加,点击「+」按钮,找到终端/执行打包的IDE添加进去,修改后输入钥匙串密码确认
  • 解锁登录钥匙串
    打包前确保登录钥匙串处于解锁状态,可通过两种方式操作:

    1. 打开「钥匙串访问」,点击「登录」钥匙串旁的锁图标解锁
    2. 在终端执行命令(交互式输入密码更安全):
      security unlock-keychain
      
  • 重新导入完整证书文件
    从苹果开发者中心重新下载包含私钥的证书包(.p12格式),双击导入到「登录」钥匙串,导入时勾选「允许访问所有应用程序」,确保证书和私钥配对完整。

  • 清理打包缓存后重试
    删除旧的打包产物和Electron Builder缓存:

    rm -rf dist
    rm -rf ~/Library/Caches/electron-builder
    

    重新执行electron-builder -m打包命令。

  • 检查签名配置正确性
    在项目的package.json或electron-builder.yml中确认签名配置:

    • identity字段需填写正确的证书名称(如"Apple Development: 你的名字 (XXXXXX)")或证书哈希值
    • 验证entitlements路径是否正确,也可尝试使用自定义权限文件替代默认模板
  • 重启系统
    钥匙串权限缓存可能导致异常,重启系统后再尝试打包操作。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.19 15:00:55