7

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?

  • Installing packages via package-install should not alter your init file. And yes, the package manager will install dependencies for packages you install. So popup is a dependency for auto-complete. – nispio Oct 25 '14 at 0:56
9

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.

  • 1
    Also 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. – Kaushal Modi Oct 25 '14 at 12:53

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.