Ответ 1
Похож на ошибку в вашей версии Emacs. Вероятно, вы можете обойти его, установив package-check-signature
в nil.
My init.el
использует это для инициализации пакетов:
(package-initialize)
(add-to-list 'package-archives '("gnu" . "http://elpa.gnu.org/packages/"))
(add-to-list 'package-archives '("melpa" . "http://melpa.milkbox.net/packages/"))
(add-to-list 'package-archives '("melpa-stable" . "http://melpa-stable.milkbox.net/packages/"))
Когда я делаю M-x package-refresh-contents
, я получаю следующую ошибку: Failed to download `gnu' archive.
M-x toggle-debug-on-error
дает мне эту стек:
Debugger entered--Lisp error: (error "Failed to verify signature archive-contents.sig: (\"No public key for 474F05837FBDEF9B created at 2014-09-29T07:20:03-0700 using DSA\")")
signal(error ("Failed to verify signature archive-contents.sig: (\"No public key for 474F05837FBDEF9B created at 2014-09-29T07:20:03-0700 using DSA\")"))
error("Failed to verify signature %s: %S" "archive-contents.sig" ("No public key for 474F05837FBDEF9B created at 2014-09-29T07:20:03-0700 using DSA"))
package--check-signature("http://elpa.gnu.org/packages/" "archive-contents")
package--download-one-archive(("gnu" . "http://elpa.gnu.org/packages/") "archive-contents")
Является ли это проблемой для моей конфигурации и как ее исправить?
Похож на ошибку в вашей версии Emacs. Вероятно, вы можете обойти его, установив package-check-signature
в nil.
Моя проблема заключалась в том, что мне не хватало gpg (gnupg).
В OSX я решил это, используя brew install gpg
.
Если у вас есть проблема с подписью, попробуйте инициализировать пакет
.M-x package-initialize
Это не ошибка, вызванная неправильной настройкой, но из-за изменения файла package-keyring.gpg
из Emacs 26.3. Как указано в сообщении о выпуске note:
New GPG key for GNU ELPA package signature checking.
Я полагаю, что новые пакеты из репозитория GNU ELPA repository подписаны для проверки этого нового набора ключей.
Самый простой способ исправить это - обновить Emacs до 26.3.
Но если вы похожи на меня и не хотите обновляться, вы можете скачать файл package-keyring.gpg
с здесь и поместить его в каталог etc/
в папке установки Emacs. В моем случае это /usr/local/share/emacs/26.1/etc/package-keyring.gpg
. Это могут быть разные места для разных методов установки (apt, yum и т.д.) На разных платформах (macOS, Windows и т.д.).
В качестве альтернативы вы можете попробовать установить пакет gnu-elpa-keyring-update, чтобы автоматически обновлять связку ключей в будущем.
Я установил emacs на Arch Linux, открыл его, запустил package-refresh-contents
и получил эту проблему. Через некоторое время я понял, что у меня нет файла инициализации. Если это ваш случай, создайте файл инициализации с помощью emacs ~/.emacs.d/init.el
, а затем добавьте следующее содержимое:
(package-initialize)
(add-to-list 'package-archives '("gnu" . "http://elpa.gnu.org/packages/"))
(add-to-list 'package-archives '("melpa" . "http://melpa.milkbox.net/packages/"))
Сохраните его с помощью C-x C-s
и снова запустите package-refresh-contents
. На этот раз это будет работать.