修复 termux 中使用 GPG 签名报错问题
2026/4/12小于 1 分钟
如果要是你遇到了以下报错可以参考此方法修复.
error: gpg failed to sign the data:
[GNUPG:] KEY_CONSIDERED B9B4194DE573AA5CBCC249FF34BDD908FE1B6112 2
[GNUPG:] BEGIN_SIGNING H10
[GNUPG:] PINENTRY_LAUNCHED 8376 curses 1.3.2 - xterm-256color - - 10278/10278 0
gpg: signing failed: Inappropriate ioctl for device
[GNUPG:] FAILURE sign 83918950
gpg: signing failed: Inappropriate ioctl for device
fatal: failed to write commit object报错原因是 GPG 尝试弹出输入密码解密私钥的 GUI 界面,但是 termux 环境一般只有 CLI 界面所以说报错了.
export GPG_TTY=$(tty)此命令的作用是强制让 GPG 使用 CLI 界面来输入密码.
不想每次打开都输入的话可以把这行命令添加到 ~/.bashrc 里面,使用其他 shell 的自行解决.