2017-07-31 50 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

相关问题