使用Mac的Emacs 25.1.1和gnupg2 2.0.30通过自制安装在macOS塞拉利昂10.12.2上。
Emacs工作正常,gnugp2在命令行级别也运行良好(删除了电子邮件地址):
pu@pumbair.local 528 ~/Dropbox/org $ echo "Hello World" >text.txt
pu@pumbair.local 536 ~/Dropbox/org $ gpg -a -e -r x@y <text.txt >text.gpg
pu@pumbair.local 537 ~/Dropbox/org $ gpg -d text.gpg
You need a passphrase to unlock the secret key for
2048-bit RSA key, ID 37B58834, created 2017-01-18 (main key ID 45C04EA8)
gpg: encrypted with 2048-bit RSA key, ID 37B58834, created 2017-01-18
Hello World我的./emacs/init.el说
; gpg
(require 'epa-file)
(epa-file-enable)
(setq epg-gpg-program "/usr/local/bin/gpg2")和
pu@pumbair.local 505 ~/.emacs.d $ file /usr/local/bin/gpg2
/usr/local/bin/gpg2: Mach-O 64-bit executable x86_64但我似乎无法让Emacs使用gpg2;Meta-x epa-list-keys产量:
GPG error: "no usable configuration", OpenPGP这里我使用的是gpg和gpg2,但是第一个是指向后者的符号链接。
我错过了什么?
编辑
浏览EasyPG的源代码,我得到的印象是,它只适用于gpg2 2.1+,所以我卸载了自制版本,并从Sourceforge安装了2.1.17版本,但这也没有帮助。
发布于 2017-01-20 16:01:11
因此,我最终浏览了一些与这个问题相关的源文件,并直接邮寄了Daiki。他很快地回答,告诉我用custom-set-variables而不是setq
(require 'epa-file)
(custom-set-variables '(epg-gpg-program "/usr/local/bin/gpg2"))
(epa-file-enable)我想这对Emacs的人来说是显而易见的,但除了org模式之外,我几乎不使用Emacs,所以它不适合我。
发布于 2018-03-01 11:02:09
gpg只在/usr/local/gnupg-2.2/bin内部。在Eamcs中,(getenv "Path")和exec-path只包含/usr/bin,但是新版本的macOS限制了对/usr/bin的访问。
我的解决方案是创建一个符号链接,并将路径添加到emacs环境及其exec路径中。
cd /usr/local/bin
ln -s ../gnupg-2.2/bin/gpg2 gpg内部.emacs
(setenv "PATH" (concat (getenv "PATH") ":/usr/local/bin"))
(setq exec-path (append exec-path '("/usr/local/bin")))https://stackoverflow.com/questions/41741477
复制相似问题