Mon init.el
l'utilise pour initialiser les paquets:
(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/"))
Quand je fais M-x package-refresh-contents
j'obtiens l'erreur suivante: Failed to download `gnu' archive.
M-x toggle-debug-on-error
me donne cette pile:
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")
Est-ce un problème avec ma configuration et comment pourrais-je le résoudre?
Cela ressemble à un bogue dans votre version d'Emacs. Vous pouvez probablement le contourner en définissant package-check-signature
sur nil.
Mon problème était que je manquais de gpg (gnupg).
Sur OSX, j'ai résolu ceci en utilisant brew install gpg
.
Pour toute autre personne n'ayant pas le problème de signature, essayez d'initialiser le paquet
M-x package-initialize
J'ai installé emacs sur Arch Linux, je l'ai ouvert, j'ai exécuté package-refresh-contents
et j'ai eu ce problème. Après un moment, j'ai réalisé que je n'avais pas de fichier init. Si tel est votre cas, créez votre fichier init avec emacs ~/.emacs.d/init.el
, puis ajoutez le contenu suivant:
(package-initialize)
(add-to-list 'package-archives '("gnu" . "http://elpa.gnu.org/packages/"))
(add-to-list 'package-archives '("melpa" . "http://melpa.milkbox.net/packages/"))
Enregistrez-le avec C-x C-s
et exécutez à nouveau package-refresh-contents
. Cette fois, ça va marcher.