2017-07-31 53 views
1

我已經安裝gpg使用brew(macOS)和brew install gnupg gnupg2,它工作正常。我可以使用它或只需檢查gpg --version或其他。安裝了GnuPG,但從gradle任務中找到「command not found」

MacMini:〜升壓$ GPG --version
GPG(GnuPG的)2.1.22
libgcrypt 1.8.0

的問題是,當我在Android上的gradle這個任務運行工作室,它不再工作:gpg命令不再被發現。

的任務是(沒有什麼特別實際上):

task decryptSigningProperties(type: Exec) { 
    commandLine 'gpg', '--passphrase-file', file(project.property("passPhraseFile")), '-o', 'signing.properties', '-d', 'signing.properties.enc' 
} 

我收到一個錯誤的詹金斯構建日誌:

  • 出了什麼問題:
    執行失敗的任務「 :應用程序:decryptSigningProperties'。發生
    一個問題起動過程「命令‘GPG’」

與此同時,我可以做手工,定位到特定的目錄,然後運行:

gpg -o signing.properties -d signing.properties.enc 

然後,一切工作正常(它提示我通過並進行解密)。

那麼爲什麼命令gpg在任務中無法識別,但我可以從終端運行?有沒有人有一些問題的經驗?

回答

1

這聽起來像你的$PATH變量是不一樣的,當使用Gradle和你的普通命令行。通過運行which gpg(可能是/usr/local/bin/gpg,因爲您使用的是brew)來查找GnuPG的安裝位置。在Gradle任務中配置$PATH變量以包含/usr/local/bin(或由which gpg確定的任何路徑),或者使用完全絕對路徑調用GnuPG。

+0

在命令中提供完整路徑對我有效,謝謝! – Rybzor

相關問題