The command M-x list-packages brings up the package menu. This is a buffer listing all the packages that Emacs knows about, one on each line, with the following information:
package-user-dir(see Package Files). External packages are treated much like built-in: they cannot be deleted through the package menu, and are not considered for upgrading.
The status can also be ‘new’. This is equivalent to ‘available’, except that it means the package became newly available on the package archive after your last invocation of M-x list-packages. In other instances, a package may have the status ‘held’, ‘disabled’, or ‘obsolete’. See Package Installation.
list-packages command accesses the network, to retrieve the
list of available packages from the package archive server. If the
network is unavailable, it falls back on the most recently retrieved
The following commands are available in the package menu:
Print a short message summarizing how to use the package menu
Display a help buffer for the package on the current line
package-menu-describe-package), similar to the help window
displayed by the C-h P command (see Packages).
Mark the package on the current line for installation
package-menu-mark-install). If the package status is
‘available’, this adds an ‘I’ character to the start of the
line; typing x (see below) will download and install the
Mark the package on the current line for deletion
package-menu-mark-delete). If the package status is
‘installed’, this adds a ‘D’ character to the start of the
line; typing x (see below) will delete the package.
See Package Files, for information about what package deletion
Mark all obsolete packages for deletion
package-menu-mark-obsolete-for-deletion). This marks for
deletion all the packages whose status is ‘obsolete’.
Remove any installation or deletion mark previously added to the current line by an i or d command.
Mark all package with a newer available version for upgrading
package-menu-mark-upgrades). This places an installation mark
on the new available versions, and a deletion mark on the old
Download and install all packages marked with i, and their
dependencies; also, delete all packages marked with d
package-menu-execute). This also removes the marks.
Refresh the package list (
package-menu-refresh). This fetches
the list of available packages from the package archive again, and
recomputes the package list.
Filter the package list (
package-menu-filter). This prompts
for a keyword (e.g., ‘games’), then shows only the packages
that relate to that keyword. To restore the full package list,
Permanently hide packages that match a regexp
Toggle visibility of old versions of packages and also of versions
from lower-priority archives (
For example, you can install a package by typing i on the line listing that package, followed by x.