Git Hub Desktop на Mac, ошибка: невозможно запустить gpg: нет такого файла или каталога

Пытаюсь зафиксировать свои изменения с помощью GitHub Desktop и получаю следующее:

введите здесь описание изображения

ошибка: невозможно запустить gpg: нет такого файла или каталога

ошибка: не удалось запустить gpg.

фатально: не удалось записать объект фиксации (128)

Во-первых, это не сработало и для терминала, и я создал gpg-ключ и подключил его к своей учетной записи GitHub. Теперь он хорошо работает в терминале, но настольная версия все еще не работает.

В официальной документации для GitHub Desktop я нашел некоторые обозначения:

Примечание. GitHub Desktop не поддерживает подписывание GPG.


person Ilia Rebane    schedule 29.04.2016    source источник
comment
Что показывает вам git status, когда вы видите эту ошибку, исходящую от GitHub Desktop?   -  person Tim Biegeleisen    schedule 29.04.2016
comment
Показаны все изменения, я использовал Win OS, прежде чем просто попытался установить Mac и столкнулся с этой проблемой ...   -  person Ilia Rebane    schedule 29.04.2016
comment
Вы настроили GitHub Desktop на своем Mac?   -  person Tim Biegeleisen    schedule 29.04.2016
comment
Да, войти и клонировать мой репозиторий   -  person Ilia Rebane    schedule 02.05.2016
comment
У меня такая же проблема. Если работать с git из консоли, то все ок. Но если использовать приложение GitHub, у меня такая же ошибка. Вы решаете проблему?   -  person Bukashk0zzz    schedule 09.05.2016
comment
Нет, я все еще жду, может быть у кого-то есть...   -  person Ilia Rebane    schedule 09.05.2016


Ответы (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
person balupton    schedule 16.05.2016
comment
Я пытался запустить обе эти строки, но все равно получаю эту ошибку. У кого-нибудь еще есть проблемы? - person captDaylight; 26.06.2018
comment
Привет @captDaylight. У меня такая же проблема. У вас есть решение в этом случае? - person Hoang Tran Son; 31.12.2018
comment
FWIW, у меня была эта проблема с vscode (код Visual Studio), и это же решение устранило ее. ???? - person chesterbr; 22.03.2019
comment
Это исправило это для меня! У меня были такие же проблемы с февраля! - person Chris Moore; 29.05.2020
comment
После установки big sur git commit не работал изнутри кода vs и жаловался на gpg: нет такого файла или каталога. Это решило это для меня. - person Raunaq; 25.11.2020
comment
Отлично - исправлено для меня! - person gdgr; 01.12.2020
comment
git config --global gpg.program $(which gpg) один решил мою проблему - person Amir; 16.07.2021

Это как-то связано с подписанием фиксации (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

Надеюсь, это поможет кому-то.

person Heitor Althmann    schedule 23.05.2019

РЕШЕНИЕ ДЛЯ ПОЛЬЗОВАТЕЛЕЙ VSCODE:

В настройках найдите GPG и снимите флажок:

ИЗОБРАЖЕНИЕ КОДА VS

Теперь, почему вы должны снять этот флажок?

Это расширение необходимо только при использовании Gnu Privacy Guard. Если вы не знаете, что это такое, вам определенно не о чем беспокоиться.

Однако на всякий случай вы хотите узнать, что происходит, проверьте: https://www.gnupg.org/

person victorkolis    schedule 24.01.2021

Для Mac и gpg2 установлен

git config --global gpg.program $(which gpg2)

Это работает для меня.

И после приведенной выше команды ваш .gitconfig должен выглядеть так, как показано ниже.

[user]
    email = [email protected]
    name = jadhavy
    signingkey = xxx
[credential]
    helper = osxkeychain
[gpg]
    program = /usr/local/MacGPG2/bin/gpg2
[commit]
    gpgsign = true
[core]
    autocrlf = input
person ynerdy    schedule 03.05.2021