You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

Windows10下Git提交推送报错:cannot spawn gpg2: No such file or directory

解决Windows 10下Git提交报错:error: cannot spawn gpg2: No such file or directory

嘿,这个问题我帮不少开发者搞定过,本质就是Git想调用GPG工具签名你的提交,但系统里要么没装对应工具,要么配置的程序名称不对,咱们一步步来解决:

先理清问题根源

这个报错的核心是:Git配置了自动用GPG签名提交,但你的Windows系统里找不到gpg2程序——毕竟Windows环境下,GPG工具默认的命令是gpg.exe,不是gpg2,要么就是你压根没装GPG工具。

两种解决思路,按需选就行

思路1:不需要GPG签名,直接关闭该功能

如果你本来就没打算用GPG签名来验证提交真实性,那最简单的方法就是关掉Git的自动签名配置:

  • 打开Git Bash或者CMD,运行这条命令:
    git config --global commit.gpgsign false
    
  • 之后再尝试提交代码,应该就能顺利完成了。

思路2:需要GPG签名,配置好工具和路径

如果你确实需要用GPG签名来保证提交的安全性,那按下面的步骤操作:

  1. 安装GPG工具
    去GnuPG官方站点下载适配Windows 10的安装包,安装时一定要勾选「Add to PATH」选项——这一步很重要,否则系统命令行找不到GPG程序。
  2. 验证GPG是否能正常调用
    安装完成后,打开Git Bash或者CMD,输入:
    gpg --version
    
    如果能正常输出GPG的版本信息,说明路径配置没问题;如果报错,检查安装时是否选了加PATH,或者手动把GPG的安装目录(比如C:\Program Files (x86)\GnuPG\bin)加到系统环境变量的PATH里。
  3. 修正Git的GPG程序配置
    Windows下GPG的默认命令是gpg,不是gpg2,所以更新Git的配置:
    git config --global gpg.program gpg
    
  4. 配置你的GPG签名密钥
    要是还没生成GPG密钥,先运行gpg --gen-key按照提示生成一个;然后把密钥ID配置到Git里:
    git config --global user.signingkey <你的GPG密钥ID>
    
    (密钥ID可以通过gpg --list-keys查看,取你生成的密钥那一行的长ID后8位就行)

最后测试一下

随便修改一个文件,执行git add .git commit -m "测试GPG签名提交",如果没有报错,说明配置成功,接下来就能正常推送代码啦!

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

火山引擎 最新活动