我使用的是 GNU Emacs 24.3.50.1(x86_64-pc-linux-gnu,GTK+ 版本 3.6.0),但是当我尝试使用包(melpa)安装 js2-refactor 时,我收到了这个奇怪的错误:
package-compute-transaction: Package `emacs-24.1' is unavailable
任何想法这可能是什么?实际上,这可能来自于 js2-refactor: js2-mode 的依赖。它给出了同样的错误。
造成这种情况的原因可能是package.el
加载路径中挥之不去的旧版本。 package.el
被正式包含在 GNU Emacs 24 中,并且早期 Emacs 版本的可下载文件不支持对内置包的依赖(emacs-24.1
这里被认为是内置包)。
键入M-x locate-library RET package
以查找 Emacs 的package.el
来源。它显示的路径应以lisp/emacs-lisp/package.elc
. 如果没有,请尝试删除指示的文件(或更改加载路径,以便 Emacs 找不到它)。
我通过卸载并重新安装 emacs (macOS/homewbrew) 解决了类似的问题。