In order to uninstall a package from Emacs I read that I must delete the specific folder from the elpa folder. As the .emacs file is being written by itself when I install a package does that mean that it will also delete itself when I uninstall a package or I must delete specific entries by myself? Also I installed an auto complete package and inside elpa folder I found a folder with the name popup-20141002.320
. Why was that folder in there? Can packages install other packages? If so then when I uninstall the first package I must uninstall also the one it installed by itself?
1 Answer
When you uninstall a package, it is deleted for you. This is actually the entirety of the uninstall operation (see the package-delete
function). Deletion can also be done manually by removing it from the installation directory (defaulting to .emacs.d/elpa/
for user-installed packages). This manual deletion does not have any adverse side-effects on the package-management system, which simplifies recovery should things go wrong.
Packages may depend on other packages in order to function properly. These dependencies are automatically installed when you install a package through the built-in package manager (package.el
). If you are using M-x package-list-packages
to view available packages, then you can see what packages will be installed (if they are not present) by pressing RET
or clicking on a package name.
Uninstalling a package through the interface does not remove dependencies. This information is not documented ăs far as I can tell. You can see for yourself by reading through the package-menu-execute
and package-delete
functions or by installing a package with a dependency that you do not have installed, then removing the main package and observing the dependency's status.
Update Since emacs 25.1 there is a command package-autoremove
that deletes packages no longer needed because they were only installed as a dependency of deleted package. If you delete an installed package from the package list, then emacs pops up a suggestion to run this command when appropriate.
-
1Also I wouldn't try to delete the dependency packages as more than one package might be depending on them, not just the one you are trying to delete. Oct 25, 2014 at 12:53
-
Any symbols loaded into Emacs appear to remain in Emacs until you restart Emacs… Feb 27, 2022 at 14:55
package-install
should not alter your init file. And yes, the package manager will install dependencies for packages you install. Sopopup
is a dependency forauto-complete
.