近期折腾 Git 顺便开启了 GPG 签名,但是在使用 PHPStorm 提交时一直失败,各种解决方案都试过未能彻底解决问题。
错误提示如下:
gpg failed to sign the data
failed to write commit object
解决方案比较简单:
# 安装 pinentry-mac (官方文档有说要安装来着)
brew install pinentry-mac
# 配置 gpg 使用 pinentry-mac
echo "pinentry-program /usr/local/bin/pinentry-mac" >> ~/.gnupg/gpg-agent.conf
# 杀掉进程以重启加载配置
killall gpg-agent
原理上,好像是和密码输入框相关。
如何安装配置 GPG 请参考:Sign commits with GPG keys | IntelliJ IDEA
参考来源:"gpg: signing failed: Inappropriate ioctl for device" on MacOS with Maven