web-dev-qa-db-fra.com

Comment supprimer le package elpa installé

C'est étrange, le list-packages le tampon affiche "disponible" comme état de certains packages réellement installés. Cette colonne ne devrait-elle pas afficher "installé" pour eux? Lorsque je clique sur l'un d'eux, un nouveau tampon s'ouvre pour m'informer que le package est installé, mais n'offre aucune option de désinstallation. Par comparaison, d'autres packages que je n'ai pas installés apparaissent comme "disponibles" avec une option "installer" à côté d'eux.

Comment désinstaller un package installé? Celui que je cherche actuellement à hacher est le défilement fluide.

51
johnbakers

J'aime utiliser la solution du pauvre pour cela: il suffit de supprimer le répertoire du paquet indésirable dans ~/.emacs.d/elpa/ (ou le répertoire spécifié dans votre package-directory-list).

EDIT: cette solution est destinée aux scénarios où quelque chose s'est mal passé (peut-être un bug, peut-être le résultat d'un bricolage manuel avec les données des packages). Veuillez utiliser la réponse @lunaryon; c'est la bonne façon de procéder sur 99,9% des cas.

44
juanleon

Le menu du package affiche toutes les versions connues d'un package.

En tant que tel, vous pouvez également voir un package installé répertorié comme disponible, par exemple, si une version plus récente du même package est disponible, ou si le même package est disponible dans différentes archives.

Pour supprimer un tel package, faites simplement défiler la liste vers le bas ou utilisez C-s PACKAGE-NAME pour rechercher les occurrences du package. Une fois que vous avez trouvé la version installée du package, appuyez sur D pour marquer le package à supprimer, puis sur x pour exécuter l'action et supprimer réellement le package.

33
lunaryorn

Pour Emacs 25.1 et supérieur, la commande

M-x package-delete

déclenche une invite avec saisie semi-automatique dans les noms des packages que vous avez installés.

26
mmw

Je viens de désinstaller les paquets Django-snippets par

M-x package-list-packages
C-s Django-snippets

Marquez le package à supprimer en tapant d. Exécutez en tapant x.

Exactement la même chose que la suppression du répertoire associé dans ~/.emacs.d/elpa/.

NB, pour les emacs récents, la commande est list-packages (au lieu de packages-list-packages)

23
Nsukami _

Je l'ai trouvé par hasard: apportez la liste des paquets, trouvez le (s) paquet (s) que vous voulez supprimer et appuyez sur "D". Lorsque vous avez terminé, appuyez sur "X" et il supprimera les paquets. Cela fonctionne exactement comme lors de l'installation de nouveaux packages, sauf que vous remplacez le "I" par "D" (je pense que "D" signifie "supprimer").

14
S4M