更新过期的软件包后,auto-complete
(以及ac-slime
之类的依赖项)突然出现错误"必需的功能'弹出式广告'未提供"。检查elpa
目录显示popup
存在。使用elpa
重新编译byte-recompile-directory
目录中的所有内容无法解决问题({1}}和popup.el
都存在,但popup.elc
仍然失败。
PS。进一步检查发现其他一些软件包失败了,因为auto-complete
不存在,但是Emacs显示它已经安装,它确实出现在xml-prc
目录中。
我的步骤是什么让Emacs再次运作?
答案 0 :(得分:1)
由于还没有其他答案(我希望会有一个真正的答案!),这里有同时起作用的内容:
基本上,在软件包更新过程中出现了问题 - 不知道究竟是什么。通常,byte-recompile-directory
目录上的elpa
有助于解决问题:它重新编译所有包文件,重启后Emacs通常可以加载它们而不会出现问题。然而,这一次,它没有任何帮助。所以我使用了一个更激烈的措施:我删除了elpa
目录表格~/.emacs.d
(或实际上我将其移走了),然后重新启动了Emacs。
我的.emacs
文件包含缺少时需要安装的软件包列表,因此所有软件包重新安装都是自动发生的,我只需等待(大约30分钟)即可启动Emacs。
(这是一个众所周知的技巧,但如果你感兴趣,这里是来源on github)
但是这个解决方案并不理想,我希望能有更清洁的东西。