“gpg:签名失败:在带有Maven的MacOS上,设备”“的ioctl不合适

swvgeqrz  于 2022-12-22  发布在  Maven
关注(0)|答案(5)|浏览(263)

我已经安装了GPG通过自制的brew install gpg。它是安装在版本2.2.17
在我的Maven POM中,我有以下代码片段:

<plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-gpg-plugin</artifactId>
    <version>1.6</version>
    <executions>
        <execution>
            <id>sign-artifacts</id>
            <phase>verify</phase>
            <goals>
                <goal>sign</goal>
            </goals>
        </execution>
    </executions>
</plugin>

但是,当运行mvn clean verify时,我得到这个错误:

gpg: Beglaubigung fehlgeschlagen: Inappropriate ioctl for device
gpg: signing failed: Inappropriate ioctl for device

如何修复此错误?

lstz6jyr

lstz6jyr1#

我已添加

GPG_TTY=$(tty)
export GPG_TTY

到我的~/.bash_profile文件。现在它工作了。
另请参见https://github.com/Homebrew/homebrew-core/issues/14737#issuecomment-309848851

bcs8qyzn

bcs8qyzn2#

在macOS上,您可能需要使用pinentry-mac来让GUI窗口输入pin,并选择将pin存储在钥匙串中。
您可以通过Homebrew安装它:

brew install pinentry-mac

并在~/.gnupg/gpg-agent.conf配置中使用以下行启用它(如果不存在,请创建它):

pinentry-program /usr/local/bin/pinentry-mac
roejwanj

roejwanj3#

试试这个

gpg --use-agent --armor --detach-sign --output $(mktemp) pom.xml
vlju58qv

vlju58qv4#

对我来说,这是因为终端窗口不够大,无法容纳密码短语TUI。当我打开一个更大的终端选项卡,然后重新运行gpg命令时,我能够看到密码短语终端用户界面。

gdrx4gfi

gdrx4gfi5#

如果有人在bash中输入gpg命令时收到此错误消息,请尝试添加--no-tty

相关问题