Vigorous Pro

The world can always use more heroes.

  1. 1. 解决方案
  2. 2. 参考链接

自从装了黑苹果之后,越来越喜欢用 MacOS 了,当然作为一个 MacOS 的小白用户,难免遇到各种各样的问题,这个便是我遇到的问题其中之一。

1
2
error: gpg failed to sign the data
fatal: failed to write commit object

今天当我打算为 git 签名的时候,突然遇到了这个问题,finally 总算找到了解决办法。也顺便水一下博客好了

9edb27acb51895721f4b543fd5fe910e.png

解决方案

因为我的 shell 使用的是 zsh 所以此处也以 zsh 为例,当然其他shell的操作方法也比较类似啦~

当然前提是你已经成功的安装好 git 和 gpg 的情况啦~

export GPG_TTY=$(tty) 添加到 ~/.zshrc 文件中,重新加载 shell ,这时候你会发现已经可以签名了,耶 (> ω <)

但是如果你是在使用 VS Code 或者其他的工具执行 commit 工作的时候,还是会报错,这里的解决方法为:
首先安装 pinentry-mac

1
brew install pinentry-mac

接下来,修改 gpg-agent.conf 配置文件

1
echo "pinentry-program /usr/local/bin/pinentry-mac" >> ~/.gnupg/gpg-agent.conf

最后,kill 掉当前所有的 gpg-agent

1
killall gpg-agent

这时,再执行 commit 便不会再报错辣~

6fced2107d1e19d82444aba7317121ae.png

参考链接

Image Source: Clark Van Der Beken

本文作者 : Edison Jwa
本文使用 署名-非商业性使用-相同方式共享 4.0 国际 (CC BY-NC-SA 4.0) 协议
本文链接 : https://www.wevg.org/archives/fix-gpg-sign-error/

本文最后更新于 天前,文中所描述的信息可能已发生改变