我一直在努力將圖書館部署到clojars,而無需使用lein deploy clojars
指定用戶名和密碼。但我最終出現以下錯誤信息:運行「lein deploy clojars」時如何解決「gpg:解密失敗:密鑰不可用」?
gpg: gpg-agent is not available in this session
gpg: can't query passphrase in batch mode
gpg: Invalid passphrase; please try again ...
gpg: can't query passphrase in batch mode
gpg: Invalid passphrase; please try again ...
gpg: can't query passphrase in batch mode
gpg: decryption failed: secret key not available
Could not decrypt credentials from /Users/johan/.lein/credentials.clj.gpg
nil
See `lein help gpg` for how to install gpg.
No credentials found for clojars
See `lein help deploying` for how to configure credentials to avoid prompts.
我~./lein/credentials.clj.gpg
看起來是這樣的(未加密):
{ #"https://clojars.org/repo"
{:username "<username>" :password "<password>"}}}
我知道用戶名和密碼是正確的(他們只是從的1Password複製) 。
運行gpg --list-keys
給我:
/Users/myname/.gnupg/pubring.gpg
-------------------------------
pub 2048R/0486A2C5 2010-10-12
uid My Name <[email protected]>
sub 2048R/0617110A 2010-10-12
我已經試過specifiying在~/.lein/profiles.clj
(:signing {:gpg-key "<key>"}
)都0486A2C5
和0617110A
,但它並沒有任何區別。
我也確信use-agent
是取消註釋在~/.gnupg/gpg.conf
而且我還相信,gpg-agent
安裝在我的機器(brew install gpg-agent
)上。
更新1
運行gpg --list-secret-keys
給我:
/Users/myname/.gnupg/secring.gpg
-------------------------------
sec 2048R/0486A2C5 2010-10-12
uid My Name <[email protected]>
ssb 2048R/0617110A 2010-10-12
運行gpg --quiet --batch --decrypt ~/.lein/credentials.clj.gpg
提示我要我的密碼,然後產生了未加密的結果。
更新2
我在Mac OS X埃爾卡皮坦使用GPG 1.4.20和GPG代理2.0.29(均使用BREW安裝)。
我錯過了什麼!?
你可以提供完整的命令行與哪個GnuPG被稱爲?可能GnuPG會在另一個用戶的環境中運行? 'gpg --list-keys'打印公鑰,解密需要密鑰。什麼是'gpg --list-secret-keys'的outptu? –
我已更新問題 – Johan
由lein運行時,它不會提示輸入密碼,這就是爲什麼需要代理。它是通過相同的TTY還是通過GUI彈出提示? – noisesmith