如何删除已安装的elpa包

时间:2013-12-12 10:46:17

标签: emacs

这很奇怪,list-packages缓冲区显示“可用”作为实际安装的某些软件包的状态。那个列不应该为他们显示“已安装”吗?当我单击一个时,会打开一个新缓冲区以通知我该软件包已安装,但不提供卸载选项。相比之下,我没有安装的其他软件包显示为“可用”,旁边有“安装”选项。

如何卸载已安装的软件包?我目前正在寻找的那个是平滑滚动的。

5 个答案:

答案 0 :(得分:42)

我喜欢使用穷人的解决方案:只需删除~/.emacs.d/elpa/(或package-directory-list中指定的目录)中不需要的包的目录。

编辑:此解决方案适用于出现问题的情况(可能是错误,可能是手动修改包数据的结果)。请使用@lunaryon答案;对99.9%的案例来说,这是正确的做法。

答案 1 :(得分:31)

包菜单显示包的所有已知版本。

因此,您可能会看到已安装的软件包也列为可用 例如,如果有相同软件包的更新版本可用,或者如果有 可以从不同的档案中获得相同的包裹。

要删除此类软件包,只需在列表中向下滚动,或使用C-s PACKAGE-NAME搜索软件包的出现位置。一旦找到了 安装版本的软件包,按D标记要删除的软件包, 然后x执行操作并实际删除包。

答案 2 :(得分:24)

对于Emacs 25.1及更高版本,命令

M-x package-delete

将自动填充的提示提升到您已安装的软件包的名称中。

答案 3 :(得分:22)

我已经通过

卸载了django-snippets软件包
M-x package-list-packages
C-s django-snippets

键入d标记要删除的包。 通过键入x执行。

与删除~/.emacs.d/elpa/中的相关目录完全相同。

注意,对于最近的emacs,命令是list-packages(而不是packages-list-packages

答案 4 :(得分:14)

我偶然发现:带上包裹清单,找到要删除的包裹,然后按“D”。完成后,按“X”键将删除包裹。它的工作方式与安装新软件包的方式完全相同,只是将'I'替换为'D'(我认为'D'代表'删除')。