web-dev-qa-db-fra.com

Git Hub Desktop sur Mac, erreur: impossible d'exécuter gpg: aucun fichier ou répertoire de ce type

Essayer de valider mes modifications en utilisant GitHub Desktop et obtenir ceci:

enter image description here

erreur: impossible d'exécuter gpg: aucun fichier ou répertoire de ce type

erreur: impossible d'exécuter gpg.

fatal: échec de l'écriture de l'objet commit (128)

Tout d'abord, cela n'a pas fonctionné pour le terminal aussi et je crée une clé gpg et je suis connecté à mon compte GitHub Maintenant, cela fonctionne bien dans Terminal mais la version Desktop ne fonctionne toujours pas.

Dans la documentation officielle pour GitHub Desktop, j'ai trouvé une notation:

Remarque: GitHub Desktop ne prend pas en charge la signature GPG.

31
Ilia Rebane

Résolu.

Donc, comme GitHub Desktop se plaignait de ne pas pouvoir trouver gpg (je l'avais installé via homebrew), j'ai pensé qu'il devrait y avoir un moyen de dire à git le chemin exact de gpg, il s'avère qu'il y a:

gpg.program Utilisez ce programme personnalisé au lieu de "gpg" trouvé sur $ PATH lors de la création ou de la vérification d'une signature PGP. Le programme doit prendre en charge la même interface de ligne de commande que GPG, à savoir, pour vérifier une signature détachée, "gpg --verify $ file - https://git-scm.com/docs/git-config

L'exécution de ce qui suit a donc résolu le problème:

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

GitHub est revenu vers moi et m'a dit que certains utilisateurs devaient également utiliser:

echo "no-tty" >> ~/.gnupg/gpg.conf
49
balupton

Cela a quelque chose à voir avec la signature de validation ( https://help.github.com/en/articles/signing-commits =).

Dans le cas où vous utilisez Github Desktop (qui ne prend pas en charge validation de la signature comme souligné en haut au début de l'article lié ci-dessus) ou si vous n'avez pas besoin de la signature de validation (ou je ne sais même pas de quoi il s'agit), vous pouvez désactiver la signature de validation gpg en exécutant une commande comme git config --global commit.gpgsign false ou modifiez votre .git/config fichier manuellement:

[commit]
  # https://help.github.com/articles/signing-commits-using-gpg/
  gpgsign = false

J'espère que cela aide quelqu'un.

0
Heitor Althmann