我gnupg2
成功地从 Homebrew 安装了公式,并且可以gpg2
从命令行运行。但是,某些程序(例如git
expect )会运行,gpg
而不是gpg2
。
我通过使用一种我认为是肮脏的黑客技术解决了这个问题:gpg2
到的符号链接gpg
:
ln -s /usr/local/bin/gpg2 /usr/local/bin/gpg
有没有更合适的方法来做到这一点?我应该只安装gnupg
公式吗?
在 OSX 上寻找类似的东西:如何将 gpg2 设置为 debian 上 gpg 的默认实现?。
答案1
请注意,GnuPG 2 有时会输出略有不同,尤其是 GnuPG 2.1。这通常不是问题,但在极少数情况下可能会发生奇怪的事情。
单独配置gpg
每个应用程序要使用的二进制文件。例如,git 有选项gpg.program
。来自man gpg-config
:
gpg.program
Use this custom program instead of "gpg" found on $PATH when making or verifying
a PGP signature. The program must support the same command-line interface as
GPG, namely, to verify a detached signature, "gpg --verify $file - <$signature"
is run, and the program is expected to signal a good signature by exiting with
code 0, and to generate an ascii-armored detached signature, the standard input
of "gpg -bsau $key" is fed with the contents to be signed, and the program is
expected to send the result to its standard output.
使用git config --global gpg.program gpg2
为您的用户选择 GnuPG 2,或替换--global
为--system
更改所有用户的设置。
答案2
除了符号链接,也许您可以尝试这个?
brew link --overwrite gnupg