我正在尝试通过 melpa 在我的 init 文件中添加包。它正在工作,但今天它停止了。为了调试,我从“emacs -q”开始,并在我的暂存缓冲区中输入以下内容:
(require 'package)
(add-to-list 'package-archives
'("melpa" . "https://melpa.org/packages/"))
(package-initialize)
前两行似乎有效。第三行给了我一个错误和堆栈跟踪:
(wrong-type-argument arrayp nil)
package--add-to-archive-contents(nil "melpa")
package-read-archive-contents()
是我的设置错误吗?我是否有错误的 melpa 网址?我正在使用 GNU Emacs 24.5.1。
最佳答案
虽然我对它不是很熟悉,但我快速浏览了 package.el
代码。
我的猜测是您的 ~/.emacs.d/elpa/archives/melpa/archive-contents
文件已“损坏”。因此,package--add-to-archive-contents
没有为它希望从该文件中获取的元素找到 array
。
我相信 archive-contents
文件只是一个本地缓存。如果你删除它,它会被重建,你应该一切都准备好了。
关于emacs - 如何使用 emacs 调试与 melpa 的连接,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/33677265/