GnuPG 已安装,但 "command not found" 来自 gradle 任务
GnuPG installed, but "command not found" from gradle task
我已经使用 brew
(macOS) 和 brew install gnupg gnupg2
安装了 gpg
,它工作正常。我可以使用它或只检查 gpg --version
或其他任何内容。
MacMini:~ boost$ gpg --version
gpg (GnuPG) 2.1.22
libgcrypt 1.8.0
问题是,当我从 Android Studio 中的 gradle 任务中 运行 它时,它不再工作: gpg
命令不再找到.
任务是(实际上没什么特别的):
task decryptSigningProperties(type: Exec) {
commandLine 'gpg', '--passphrase-file', file(project.property("passPhraseFile")), '-o', 'signing.properties', '-d', 'signing.properties.enc'
}
我在 Jenkins 构建日志中收到错误:
- What went wrong:
Execution failed for task ':app:decryptSigningProperties'.
A problem occurred starting process 'command 'gpg''
同时,我可以手动完成,导航到特定目录和运行:
gpg -o signing.properties -d signing.properties.enc
然后,一切正常(它提示我通过并进行解密)。
那么为什么命令 gpg
在任务中无法识别,但我可以从终端 运行 输入?有没有人有过类似问题的经验?
这听起来像是您的 $PATH
变量在使用 Gradle 和您的普通命令行时不一样。通过 运行 which gpg
找出 GnuPG 的安装位置(可能是 /usr/local/bin/gpg
,因为您正在使用 brew
)。在您的 Gradle 任务中配置 $PATH
变量以包含 /usr/local/bin
(或由 which gpg
确定的任何路径),或者使用完整的绝对路径调用 GnuPG。
我已经使用 brew
(macOS) 和 brew install gnupg gnupg2
安装了 gpg
,它工作正常。我可以使用它或只检查 gpg --version
或其他任何内容。
MacMini:~ boost$ gpg --version
gpg (GnuPG) 2.1.22
libgcrypt 1.8.0
问题是,当我从 Android Studio 中的 gradle 任务中 运行 它时,它不再工作: gpg
命令不再找到.
任务是(实际上没什么特别的):
task decryptSigningProperties(type: Exec) {
commandLine 'gpg', '--passphrase-file', file(project.property("passPhraseFile")), '-o', 'signing.properties', '-d', 'signing.properties.enc'
}
我在 Jenkins 构建日志中收到错误:
- What went wrong:
Execution failed for task ':app:decryptSigningProperties'.
A problem occurred starting process 'command 'gpg''
同时,我可以手动完成,导航到特定目录和运行:
gpg -o signing.properties -d signing.properties.enc
然后,一切正常(它提示我通过并进行解密)。
那么为什么命令 gpg
在任务中无法识别,但我可以从终端 运行 输入?有没有人有过类似问题的经验?
这听起来像是您的 $PATH
变量在使用 Gradle 和您的普通命令行时不一样。通过 运行 which gpg
找出 GnuPG 的安装位置(可能是 /usr/local/bin/gpg
,因为您正在使用 brew
)。在您的 Gradle 任务中配置 $PATH
变量以包含 /usr/local/bin
(或由 which gpg
确定的任何路径),或者使用完整的绝对路径调用 GnuPG。