Trying to commit my changes by using GitHub Desktop and getting this:
error: cannot run gpg: No such file or directory
error: could not run gpg.
fatal: failed to write commit object (128)
Firstly that not worked for terminal too and i create gpg-key and plugged in to my GitHub Account Now it's working well in Terminal but Desktop version still not working.
In Oficial doccumentation for GitHub Desktop i found some notation:
Note: GitHub Desktop does not support GPG signing.
Solved it.
So as GitHub Desktop was complaining about not being able to find gpg (I had installed it via homebrew), I figured there should be a way to tell git the exact path of gpg, turns out there is:
gpg.program Use this custom program instead of "gpg" found on $PATH when making or verifying a PGP signature. The program must support the same command-line interface as GPG, namely, to verify a detached signature, "gpg --verify $file - https://git-scm.com/docs/git-config
So running the following solved the problem:
git config --global gpg.program $(which gpg)
GitHub got back to me and said that some users also need to use:
echo "no-tty" >> ~/.gnupg/gpg.conf
It has something to do with commit signing (https://help.github.com/en/articles/signing-commits).
In case you use Github Desktop (which doesn't support commit signing as highlighted right at the beginning of the article linked above) or if you don't need commit signing (or don't even know what it is), one thing you can do is to disable gpg commit signing by running a command like git config --global commit.gpgsign false
or edit your .git/config
file manually:
[commit]
# https://help.github.com/articles/signing-commits-using-gpg/
gpgsign = false
Hope it helps someone.
来源:https://stackoverflow.com/questions/36941533/git-hub-desktop-on-mac-error-cannot-run-gpg-no-such-file-or-directory