【发布时间】:2017-05-10 18:02:38
【问题描述】:
我将如何解决这个问题?
gpg: WARNING: server 'gpg-agent' is older than us (2.0.30 < 2.1.20)
【问题讨论】:
-
看起来
brew reinstall gpg-agent可能已经解决了。
我将如何解决这个问题?
gpg: WARNING: server 'gpg-agent' is older than us (2.0.30 < 2.1.20)
【问题讨论】:
brew reinstall gpg-agent 可能已经解决了。
您也可以将您的 gpg 工具更新到较新版本,同时您还使用旧版本。在这种情况下,没有父级的 gpg-agent 保留在您的进程树中,并且版本已经是错误的。
解决办法就是杀了他。 Gpg 会重新启动它,这次是正确的。
【讨论】:
gpg-agent 2.0.30 版本在 2.1.20 版本之前的 $PATH 中。 卸载 gpg-agent 2.0.30 版。
brew uninstall gpg-agent
Uninstalling /usr/local/Cellar/gpg-agent/2.0.30_3... (690.2KB)
which gpg-agent
/usr/local/bin/gpg-agent
gpg-agent --version
gpg-agent (GnuPG) 2.1.21
【讨论】:
一个可能的替代原因是,您正在使用一些共享主目录解决方案(例如,docker),您的多个虚拟环境看到相同的主目录。
Gpg 在第一次执行时启动一个守护进程,如果它还没有运行,并在~/.gnupg/S.gpg-agent 上与它通信。来自不同环境的多个 gpg-agent 可能会看到相同的套接字,因此它们会遇到不兼容的情况。解决办法:杀死不需要的gpg-agent进程。
【讨论】:
TLDR:您可以在命令行旁边使用 git GUI,两者都使用自己的 gpg-agent 版本。
我也遇到了这个问题。所以我会用我自己的经验来更新这个问题。
我使用两种方法向我的仓库提交。
gpg-agent。gpg-agent,然后是 GUI。'gpg-agent' is older than us 警告在以下情况下显示。
gpg-agent,然后由命令行使用。如果 GUI 有旧版本的 gpg-agent,并且我使用它首先提交,那么当我尝试通过命令行提交时会遇到这个问题。
【讨论】:
您实际上收到的是警告,而不是错误。如果您不想看到此警告,可以通过管道将其删除。
git push 2>/dev/null
【讨论】: