3

我想在 Windows 上使用没有安装 Gpg4win 的 GPG,因为Git for Windows包含我们很好的 GPG 二进制文件,所以我想使用它而不是安装额外的应用程序。

但是,当我设置 GPG(例如添加路径等)时,我遇到了以下错误:

C:\Users\me> gpgconf --launch gpg-agent
gpgconf: error running '/usr/bin/gpg-connect-agent': exit status 1
gpgconf: error running '/usr/bin/gpg-connect-agent NOP': General error

并与gpg-connect-agent

C:\Users\me> gpg-connect-agent /bye
gpg-connect-agent: no running gpg-agent - starting '/usr/bin/gpg-agent'
gpg-connect-agent: waiting for the agent to come up ... (5s)
gpg-connect-agent: waiting for the agent to come up ... (4s)
gpg-connect-agent: waiting for the agent to come up ... (3s)
gpg-connect-agent: waiting for the agent to come up ... (2s)
gpg-connect-agent: waiting for the agent to come up ... (1s)
gpg-connect-agent: can't connect to the agent: IPC connect call failed
gpg-connect-agent: error sending standard options: No agent running

我需要运行代理才能签署 git 提交,所以我不确定发生了什么。

在此错误发生之前,我使用的是 Gpg4win,它完全没有错误(为了确保它不是版本问题,我已经删除了 中的所有内容%userprofile%/.gnupg

系统信息:

  • Windows 10 21H1 19043.1110

  • git version 2.29.2.windows.1

  • C:\Users\me> gpg --version
      gpg (GnuPG) 2.2.23-unknown
      libgcrypt 1.8.7
      Copyright (C) 2020 Free Software Foundation, Inc.
      License GPLv3+: GNU GPL version 3 or later <https://gnu.org/licenses/gpl.html>
      This is free software: you are free to change and redistribute it.
      There is NO WARRANTY, to the extent permitted by law.
    
      Home: C:/Users/me/.gnupg
      Supported algorithms:
      Pubkey: RSA, ELG, DSA, ECDH, ECDSA, EDDSA
      Cipher: IDEA, 3DES, CAST5, BLOWFISH, AES, AES192, AES256, TWOFISH,
              CAMELLIA128, CAMELLIA192, CAMELLIA256
      Hash: SHA1, RIPEMD160, SHA256, SHA384, SHA512, SHA224
      Compression: Uncompressed, ZIP, ZLIB, BZIP2
    
  • where gpgC:\Program Files\Git\usr\bin\gpg.exe

  • where gitC:\Program Files\Git\cmd\git.exe

任何帮助,将不胜感激。谢谢

4

2 回答 2

1

我在新的 MacOS(蒙特雷)上全新安装 gnupg2 时遇到了同样的问题。似乎安装不会创建.gnupg文件夹。

在我的情况下,这是通过运行解决的:

gpg -K

这导致创建了丢失的文件夹

gpg: directory '/Users/xxx/.gnupg' created 
gpg: keybox '/Users/xxx/.gnupg/pubring.kbx' created
gpg: /Users/xxx/.gnupg/trustdb.gpg: trustdb created

一切都很好。

于 2021-11-23T21:58:27.727 回答
0

我设法弄清楚了。

这是因为 git for windows 中的 gpgMINGW64用于环境。而且因为我手动将GNUPGHOME环境变量设置为 Windows path: C:/users/me/.gnupg,所以它不起作用。

(我从不使用包含的MINGW64git bash,我只使用 cmd 并添加那些 exe,如 git、gpg 到PATH

因此,如果您手动设置了GNUPGHOMEenv 变量,则需要更改为MINGW64路径。

所以就我而言,C:/users/me/.gnupg->/c/users/me/.gnupg

我不确定--homedir

于 2021-08-10T05:17:51.140 回答