如何删除已安装的elpa包

joh*_*ers 52 emacs

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

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

jua*_*eon 45

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

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

  • 没有这样的文件.`package-initialize`在`package-directory-list`中扫描你配置的目录中的包.使用`package-load-list`,autoloads做"魔术"部分.通常@lunaryorn建议应该做的工作,但当你发现问题时,删除目录是一个安全的选择. (5认同)

lun*_*orn 36

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

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

要删除此类包,只需在列表中向下滚动,或使用C-s <PACKAGE-NAME>搜索包的出现次数.找到已 安装的软件包版本后,按D以标记要删除的软件包,然后d执行该操作并实际删除该软件包.

  • @OpenLearner滚动到结束以获取已安装的标志,您可能会发现此软件包的最新版本未安装,此外,请按d而不是D (4认同)

mmw*_*mmw 32

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

M-x package-delete

通过自动填充提示您已安装的软件包名称.

  • 应该注意的是,这只是Emacs 25.1+的情况 (5认同)

Nsu*_*i _ 23

我刚刚卸载了django-snippets包

M-x package-list-packages
C-s django-snippets
Run Code Online (Sandbox Code Playgroud)

通过键入将包标记为删除d.通过输入执行x.

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

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


S4M*_*S4M 14

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