我正在尝试通过我的init文件中的melpa添加包.它工作,但今天它停止了.为了调试,我开始使用"emacs -q"并在我的暂存缓冲区中键入以下内容:
(require 'package)
(add-to-list 'package-archives
'("melpa" . "https://melpa.org/packages/"))
(package-initialize)
Run Code Online (Sandbox Code Playgroud)
前两行似乎有效.第三行给出了错误和堆栈跟踪:
(wrong-type-argument arrayp nil)
package--add-to-archive-contents(nil "melpa")
package-read-archive-contents()
Run Code Online (Sandbox Code Playgroud)
我的设置错误了吗?我有错误的网址吗?我正在使用GNU Emacs 24.5.1.
虽然我对它不太熟悉,但我快速查看了package.el代码.
我的猜测是你的~/.emacs.d/elpa/archives/melpa/archive-contents文件"已损坏".因此,package--add-to-archive-contents没有找到array它期望从该文件获得的元素.
我相信该archive-contents文件只是一个本地缓存.如果你删除它,它将被重建,你应该全部设置.