Josh Grosso
Josh Grosso

Reputation: 2124

package-refresh-contents hangs at Contacting host: elpa.gnu.org:80

I'm running Emacs 24.4 for Windows (installed through Chocolatey) and trying to install CIDER.

When I run M-x package-install [RET] cider [RET], I get [No match]. When I run M-x package-refresh-contents [RET], it hangs on Contacting host: elpa.gnu.org:80.

~/.emacs.d is populated with the GitHub repo recommended by braveclojure.com (here). I've reinstalled Emacs and I'm still getting the same problem.

Upvotes: 23

Views: 16247

Answers (6)

Abhishek Anand
Abhishek Anand

Reputation: 3848

I had the same problem with Emacs 24 in Ubuntu 16.04 and nothing seemed to solve the problem. Finally, installing Emacs 25 solved the problem.

New Emacs packages are available here

sudo add-apt-repository ppa:kelleyk/emacs
sudo apt-get update
apt-get install emacs27

The problem is that the ELPA package signing key has expired. A new Emacs version will include a new key. Note that currently (2020 Oct) there is Emacs 27 available for Ubuntu 16.04.

Also make sure that you use https urls (and not plain http).

Another possibility may be to install new keys to an older Emacs version.

Windows binaries may also be available somewhere.

Upvotes: 2

Billal BEGUERADJ
Billal BEGUERADJ

Reputation: 22804

I have faced this issue on Emacs 24.5.1.
I searched here in SO and outside SO, nothing worked for me. I had to circumvent the problem by installing a newer version of Emacs: emacs25.

Upvotes: 0

Andrei Neculau
Andrei Neculau

Reputation: 996

Other than setting up your package archives, like a previous answer mentions (FWIW I'm using HTTPS directly)

(setq package-archives '(("gnu" . "https://elpa.gnu.org/packages/")
                         ("marmalade" . "https://marmalade-repo.org/packages/")
                         ("melpa" . "https://melpa.org/packages/")))

one might encounter another problem but with the same symptom of getting stuck at "Contacting host" due to running gpg in batch mode to verify the packages, but needing some input. You can disable that via

(setq package-check-signature nil)

Upvotes: 1

dimitarvp
dimitarvp

Reputation: 2383

This guide fixed it for me: http://www.lonecpluspluscoder.com/2015/08/adding-tls-support-to-emacs-24-5-on-windows/

Basically go to: http://sourceforge.net/projects/ezwinports/files/, grab the gnutls library and just uncompress the archive at the root of your Emacs directory.

Afterwards, doing list-packages became near-instant for me. Using Emacs 24.5.1.

Upvotes: 3

AdnanJT
AdnanJT

Reputation: 294

I had this same problem on emacs ELPA wiki they say to set un ELPA you have to modify the emacs init file located at ~/.emacs or _emacs or ~/.emacs.d/init.el for me it was ~/.emacs-live.el since I have this version.

I just updated that file with the following:

(setq package-archives '(("gnu" . "http://elpa.gnu.org/packages/")
                     ("marmalade" . "http://marmalade-repo.org/packages/")
                     ("melpa" . "http://melpa.org/packages/")))

Seems that I needed the configuration from where ELPA is going to look for packages.

After that i just ran M-x package-refresh-contents [RET] and M-x package-install [RET] cider [RET] that installed cider.


Upvotes: 21

Chris
Chris

Reputation: 137149

Stack Overflow sometimes deletes chats. Fortunately it seems like I've still got access to a read-only version of the transcript.

From my perspective we didn't get a satisfactory answer. Here are the highlights:

  1. We determined that the variable package-archives contained only GNU ELPA.

  2. After discovering this, the OP wrote

    I edited the package.el file. It works!

  3. I suggested that editing a core Emacs Lisp file is not a good solution, but didn't hear anything back from the OP.

    Since the referenced init.el file tries to add MELPA, I think there's something else going on. Perhaps the .emacs.d/ directory is in the wrong location, for example.

Editing package.el is certainly not a good solution. Doing more work to determine why the config isn't being properly loaded would be a good approach.

Upvotes: 0

Related Questions