Package listed in MELPA, but not found in package install
Asked Answered
L

4

81

I am currently trying to install ENSIME for emacs 24.3.1 following the instructions at https://github.com/ensime/ensime-emacs under the quick start; I've added

    (require 'package)
    (add-to-list 'package-archives
             '("melpa" . "http://melpa.milkbox.net/packages/") t)
    (package-initialize)

(when (not package-archive-contents)
  (package-refresh-contents))

to my .emacs file, as instructed. However, when I restart and do M-x package install [RETURN]ensime[RETURN], it returns [No Match] and indeed, I can't find it when I list the packages. However, I can easily find it at http://melpa.milkbox.net/#; what would be causing the discrepancy between what is available through the website and when can be installed from emacs?

Any help is much appreciated; Thank you!

Labefaction answered 18/7, 2014 at 21:19 Comment(7)
I've experienced this same problem, and looking at my Emacs config the only difference is that I have '("melpa" . "http://melpa.milkbox.net/packages/")) - note the missing t argument at the end. Can't remember if this fixed the problem for me or not, but it's easy enough to try.Passel
Thank you for the suggestion, but I'm afraid it didn't work.Labefaction
Did you try an explicit M-x packaged refresher contents before package-install?Rosecan
With M-: package-archives you can see the contents of the variable package-archives. You might find that it is not what you thought you set it to. In my case as some point I had it customized in custom-set-variables (auto saved at end of .emacs) and this overrides the value I set earlier.Alodie
the 't' at the end of the add-to-list call is just so it appends it.Forester
@lunaryorn it was M-x package-refresher-contents - it really helped! Thanks!Monagan
After fixing @lunaryorn's typos: M-x package-refresh-contents, this worked for me.Hughmanick
M
49

In my .emacs file I have

;; packages
(when (>= emacs-major-version 24)
  (require 'package)
  (package-initialize)
  (add-to-list 'package-archives '("melpa" . "http://melpa.milkbox.net/packages/") t)
  )

Then, M-x package-list-packages

C-s ensime

and there you go:

ensime 20140718.... available ENhanced Scala Interaction Mode for Emacs

Are you sure your emacs can actually get access to internet?

Mary answered 19/7, 2014 at 4:50 Comment(4)
it's worth pointing out that this is now outdated, please use ensime.org/editors/emacs/installBarbate
That's great, thanks! The question is why package-install did not find it (I had the same problem with clang-format).Evanescent
@Evanescent I found the same behavior. Turns out the package I wanted was already installed that is why package-install could not detect it.Phospholipide
Thanks @MiniFridge that was the problem for me. :)Shuma
I
124

I had to run M-x package-refresh-contents. Once I did that, the files were found.

Here's what my .emacs looks like:

(cond
 ((>= 24 emacs-major-version)
  (require 'package)
  (package-initialize)
  (add-to-list 'package-archives
           '("melpa-stable" . "http://stable.melpa.org/packages/") t)
  (package-refresh-contents)
 )
)
Incorporated answered 12/3, 2015 at 18:23 Comment(4)
But getting started on Melpa says Enable installation of packages from MELPA by adding an entry to package-archives after (require 'package) and before the call to package-initialize in your init.el or .emacs file: Mcspadden
That reversed order likely is what is causing the need for refreshing; ultimately they're the same thing at startup because the package-initialize has nothing to initialize until after add-to-list. I haven't tried this but I will.Incorporated
calling package-refresh-contents fixed the issue for me.Janeenjanek
Isn't ((>= 24 emacs-major-version) the wrong way 'round?Coontie
M
49

In my .emacs file I have

;; packages
(when (>= emacs-major-version 24)
  (require 'package)
  (package-initialize)
  (add-to-list 'package-archives '("melpa" . "http://melpa.milkbox.net/packages/") t)
  )

Then, M-x package-list-packages

C-s ensime

and there you go:

ensime 20140718.... available ENhanced Scala Interaction Mode for Emacs

Are you sure your emacs can actually get access to internet?

Mary answered 19/7, 2014 at 4:50 Comment(4)
it's worth pointing out that this is now outdated, please use ensime.org/editors/emacs/installBarbate
That's great, thanks! The question is why package-install did not find it (I had the same problem with clang-format).Evanescent
@Evanescent I found the same behavior. Turns out the package I wanted was already installed that is why package-install could not detect it.Phospholipide
Thanks @MiniFridge that was the problem for me. :)Shuma
M
14

After doing the usual editing of .emacs to make melpa avalaible and restarting Emacs, I searched the list of packages for the one I wanted.

M-x package-list-packages
C-s <package_name>

Then I clicked on the name of the package and pressed the install button. I am unsure as to why M-x package-install RET <package_name> failed, but clicking the install button worked for me.

Mete answered 30/7, 2016 at 16:33 Comment(2)
Same issue when trying to install magit when running M-x package-install RET magit which kept indicating no matches. It showed related packages such as magit-svn, magit-p4, etc. but not simply magit. However, your suggested answer worked in installing it.Trafficator
@RayVega I'm glad to know my answer is helping others; thanks for letting me know :)Mete
J
4

Emacs v28.2

In my case it seems that a previous attempt at getting started with Emacs left me with a "stale" config file ~/.emacs which somehow clashed with ~/.emacs.d/init.el.

So I just deleted ~/.emacs and things started making sense again.

Make sure you have this in your ~/.emacs.d/init.el file:

(require 'package)
(add-to-list 'package-archives '("melpa" . "https://melpa.org/packages/") t)
(package-initialize)

Then:

  • M-x package-refresh-content
  • M-x package-install
  • <your-package-name>
Juncaceous answered 3/2, 2023 at 13:41 Comment(1)
Thank you! I followed the directions in your post and I got my new package of interested installed.Ternopol

© 2022 - 2024 — McMap. All rights reserved.