Emacs non può connettersi all'archivio GNU

Nov 03 2020

Ho un problema molto basilare nel far parlare il mio emacs con il repository dei pacchetti GNU.

I contenuti del mio .emacs sono

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

Quando avvio emacs, vedo

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

Quando lo faccio M-x toggle-debug-on-errore poi M-x package-refresh-contents, ottengo il seguente 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)

Inizialmente stavo cercando di connettermi a Melpa, ma ho visto che ho questo problema anche lavorando solo con l'archivio GNU. Sono su Emacs 26.2, macOS 10.14.6.

Qualche idea?

Risposte

2 phils Nov 03 2020 at 13:47

Credo che Emacs 26.3 risolva questo problema.

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

Dovresti aggiornare (da 26.2 a 26.3 è un aggiornamento molto minore; niente dovrebbe rompersi) ma se davvero non puoi farlo per qualche motivo, allora questo potrebbe fare il trucco per te:

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

Potresti anche considerare di installare 27.1, che è l'ultima versione.