Error al recuperar: https://elpa.gnu.org/packages/archive-contents (error http 400)

Sep 08 2020

Estoy en esta versión de GNU Emacs en una computadora con Windows 10: GNU Emacs 26.3 (compilación 1, x86_64-w64-mingw32) de 2019-08-29

Durante las últimas semanas, Emacs informó este error al acceder a GNU Elpa cuando ejecuto "list-packages":

Importando package-keyring.gpg ...
error hecho en el filtro de proceso: Error al recuperar:https://elpa.gnu.org/packages/archive-contents(error http 400) [2 veces]
Actualización del paquete completada

En un navegador, puedo acceder al URI sin problemas. Esto sucede en dos cajas de Windows 10 que tengo.

A Google muestra quejas sobre tales errores tan recientemente como hace un año, aunque no encontré ninguna con "http 400 (Solicitud incorrecta)". Además, no tengo errores para melpa estable, el otro repositorio en mi lista de archivos de paquetes:

 '(package-archives
   (quote
    (("gnu" . "https://elpa.gnu.org/packages/")
     ("melpa-stable" . "https://stable.melpa.org/packages/"))))

¿Alguno de ustedes tiene alguna sugerencia sobre qué más podría intentar?

Gracias mario

Respuestas

2 ablian Dec 17 2020 at 11:06

pruebe esto: (setq gnutls-algorítm-prioridad "NORMAL: -VERS-TLS1.3") referencia: https://www.reddit.com/r/emacs/comments/cdei4p/failed_to_download_gnu_archive_bad_request/etw48ux/?utm_source=share&utm_medium=web2x

Explicación: Es un error de carrera en Emacs y versiones más recientes de GNU TLS que apareció en Emacs v26.1 pero está corregido en Emacs v27. Una simple solución temporal es simplemente desactivar el soporte de TLS 1.3 en Emacs v26.1 y las condiciones de carrera desaparecen. No es una buena solución, ya que necesitamos TLS 3.1, pero servirá hasta que se implemente la solución adecuada. Como se discutió en el informe de error original. Verhttps://debbugs.gnu.org/cgi/bugreport.cgi?bug=34341#19

1 wasamasa Sep 11 2020 at 00:50

Es muy probable que su Emacs no tenga soporte TLS en funcionamiento. Asegúrese de que su Emacs haya sido construido con soporte GnuTLS (esto debería estar activado por defecto, verifique con M-: (string-match-p "GNUTLS" system-configuration-features)) y que las bibliotecas GnuTLS estén disponibles en la ubicación esperada. La forma más sencilla de hacer esto último en Windows es instalar una versión que incluya las dependencias, verifiquehttps://ftp.gnu.org/gnu/emacs/windows/ para las descargas relevantes.