Each package is downloaded from the package archive in the form of a single package file—either an Emacs Lisp source file, or a tar file containing multiple Emacs Lisp source and other files. Package files are automatically retrieved, processed, and disposed of by the Emacs commands that install packages. Normally, you will not need to deal directly with them, unless you are making a package (see Packaging in The Emacs Lisp Reference Manual). Should you ever need to install a package directly from a package file, use the command
Once installed, the contents of a package are placed in a subdirectory of
~/.emacs.d/elpa/ (you can change the name of that directory by changing the variable
package-user-dir). The package subdirectory is named
name is the package name and
version is its version string.
In addition to
package-user-dir, Emacs looks for installed packages in the directories listed in
package-directory-list. These directories are meant for system administrators to make Emacs packages available system-wide; Emacs itself never installs packages there. The package subdirectories for
package-directory-list are laid out in the same way as in
Deleting a package (see Package Menu) involves deleting the corresponding package subdirectory. This only works for packages installed in
package-user-dir; if told to act on a package in a system-wide package directory, the deletion command signals an error.