Previous: Package Installation, Up: Packages [Contents][Index]

### 50.3 Package Files and Directory Layout

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 `M-x package-install-file`.

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-version`, where 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 `package-user-dir`.

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.