Mac上的Git Hub Desktop,错误:无法运行gpg:没有这样的文件或目录

Ili*_*ane 28 macos github git-commit github-for-mac

尝试使用GitHub Desktop提交我的更改并获取此信息:

在此输入图像描述

错误:无法运行gpg:没有这样的文件或目录

错误:无法运行gpg.

致命:未能写入提交对象(128)

首先,这也不适用于终端,我创建了gpg-key并插入我的GitHub帐户现在它在终端中运行良好但桌面版仍然无效.

在GitHub桌面的官方文档中,我发现了一些符号:

注意:GitHub Desktop不支持GPG签名.

bal*_*ton 51

解决了它.

因为GitHub桌面抱怨无法找到gpg(我已经通过自制软件安装了它),我想应该有办法告诉git gpg的确切路径,结果是:

gpg.program在制作或验证PGP签名时,使用此自定义程序而不是$ PATH上的"gpg".该程序必须支持与GPG相同的命令行界面,即验证分离的签名,"gpg --verify $ file - https://git-scm.com/docs/git-config

所以运行以下解决了这个问题:

git config --global gpg.program $(which gpg)
Run Code Online (Sandbox Code Playgroud)

GitHub回复我说,有些用户还需要使用:

echo "no-tty" >> ~/.gnupg/gpg.conf
Run Code Online (Sandbox Code Playgroud)

  • `git config --global gpg.program $(which gpg)` 单独解决了我的问题 (13认同)
  • 我试过运行这两行,但仍然收到此错误。还有其他人有问题吗? (3认同)
  • FWIW,我在 vscode (Visual Studio Code) 上遇到了这个问题,相同的解决方案修复了它。 (3认同)

yne*_*rdy 12

对于 Mac 和已安装的 gpg2

git config --global gpg.program $(which gpg2)
Run Code Online (Sandbox Code Playgroud)

这对我有用。

在上述命令之后,您的 .gitconfig 应如下所示

[user]
    email = yogesh.jadhav@xxx.com.au
    name = jadhavy
    signingkey = xxx
[credential]
    helper = osxkeychain
[gpg]
    program = /usr/local/MacGPG2/bin/gpg2
[commit]
    gpgsign = true
[core]
    autocrlf = input
Run Code Online (Sandbox Code Playgroud)


Hei*_*ann 6

它与提交签名https://help.github.com/en/articles/signing-commits)有关。

如果您使用 Github Desktop(它不支持在上面链接的文章开头突出显示的提交签名),或者如果您不需要提交签名(或者甚至不知道它是什么),那么您需要做一件事可以做的是通过运行类似命令或手动编辑文件来禁用gpg 提交签名git config --global commit.gpgsign false.git/config

[commit]
  # https://help.github.com/articles/signing-commits-using-gpg/
  gpgsign = false
Run Code Online (Sandbox Code Playgroud)

希望它可以帮助某人。