Git Hub Desktop на Mac, ошибка: невозможно запустить gpg: нет такого файла или каталога
Попытка зафиксировать мои изменения с помощью GitHub Desktop и получить это:
ошибка: невозможно запустить gpg: нет такого файла или каталога
ошибка: не удалось запустить gpg.
фатальный: не удалось записать объект фиксации (128)
Во-первых, это не сработало и для терминала, и я создал gpg-key и подключился к моей учетной записи GitHub. Теперь он хорошо работает в терминале, но версия для настольного компьютера все еще не работает.
В официальной документации для GitHub Desktop я нашел некоторые обозначения:
Примечание. GitHub Desktop не поддерживает подпись GPG.
4 ответа
Решил это.
Так как GitHub Desktop жаловался на невозможность найти gpg (я установил его с помощью homebrew), я решил, что должен быть способ указать git точный путь к gpg, и получается:
gpg.program Используйте эту пользовательскую программу вместо "gpg", найденного в $PATH, при создании или проверке подписи PGP. Программа должна поддерживать тот же интерфейс командной строки, что и GPG, а именно для проверки отсоединенной подписи, "gpg --verify $file - https://git-scm.com/docs/git-config
Таким образом, запуск следующего решил проблему:
git config --global gpg.program $(which gpg)
GitHub ответил мне и сказал, что некоторые пользователи также должны использовать:
echo "no-tty" >> ~/.gnupg/gpg.conf
Это как-то связано с фиксацией подписи ( https://help.github.com/en/articles/signing-commits).
В случае, если вы используете Github Desktop (который не поддерживает подписывание коммитов, как это было выделено в начале статьи, ссылки на которую приведены выше) или если вам не нужно подписывать коммиты (или даже не знаете, что это такое), одну вещь вы можно отключить подпись коммитов gpg, выполнив команду git config --global commit.gpgsign false
или отредактируйте свой .git/config
подать вручную:
[commit]
# https://help.github.com/articles/signing-commits-using-gpg/
gpgsign = false
Надеюсь, это кому-нибудь поможет.
Для Mac и установлен gpg2
git config --global gpg.program $(which gpg2)
У меня это работает.
И после приведенной выше команды ваш .gitconfig должен выглядеть, как показано ниже
[user]
email = yogesh.jadhav@xxx.com.au
name = jadhavy
signingkey = xxx
[credential]
helper = osxkeychain
[gpg]
program = /usr/local/MacGPG2/bin/gpg2
[commit]
gpgsign = true
[core]
autocrlf = input