Emacs no puede conectarse al archivo GNU

Nov 03 2020

Tengo un problema muy básico para hacer que mi emacs hable con el repositorio de paquetes GNU.

Los contenidos de mis .emacs son

(require 'package)
(package-initialize)
(package-refresh-contents)

Cuando inicio emacs, veo

Contacting host: elpa.gnu.org:443
Package refresh done
Failed to download ‘gnu’ archive.

Cuando lo hago M-x toggle-debug-on-errory luego M-x package-refresh-contents, obtengo el siguiente stacktrace:

Debugger entered--Lisp error: (file-error "https://elpa.gnu.org/packages/archive-contents" "Bad Request")
  signal(file-error ("https://elpa.gnu.org/packages/archive-contents" "Bad Request"))
  package--download-one-archive(("gnu" . "https://elpa.gnu.org/packages/") "archive-contents" nil)
  package--download-and-read-archives(nil)
  package-refresh-contents()
  funcall-interactively(package-refresh-contents)
  call-interactively(package-refresh-contents record nil)
  command-execute(package-refresh-contents record)
  execute-extended-command(nil "package-refresh-contents" "package-refre")
  funcall-interactively(execute-extended-command nil "package-refresh-contents" "package-refre")
  call-interactively(execute-extended-command nil nil)
  command-execute(execute-extended-command)

Originalmente estaba tratando de conectarme a Melpa, pero vi que tenía este problema incluso trabajando solo con el archivo GNU. Estoy en Emacs 26.2, macOS 10.14.6.

¿Algunas ideas?

Respuestas

2 phils Nov 03 2020 at 13:47

Creo que Emacs 26.3 soluciona esto.

  • https://debbugs.gnu.org/cgi/bugreport.cgi?bug=34341
  • https://debbugs.gnu.org/cgi/bugreport.cgi?bug=36725

Debería actualizar (26.2 a 26.3 es una actualización muy pequeña; nada debería romperse); pero si realmente no puedes hacer eso por alguna razón, entonces esto podría ser el truco para ti:

(setq gnutls-algorithm-priority "NORMAL:-VERS-TLS1.3")

También podría considerar instalar 27.1, que es la última versión.