我最近在Emacs中更新了package-list-packages
的SLIME。但是,当我尝试使用M-x slime
运行它时,我得到了这个:
(progn (load "/home/koz/.emacs.d/elpa/slime-20140913.730/swank-loader.lisp" :verbose t) (funcall (read-from-string "swank-loader:init")) (funcall (read-from-string "swank:start-server") "/tmp/slime.3081"))
*
; loading #P"/home/koz/.emacs.d/elpa/slime-20140913.730/swank-loader.lisp"
;;
;; Error while compiling /home/koz/.emacs.d/elpa/slime-20140913.730/swank/backend.lisp:
;; Failed to find the TRUENAME of /home/koz/.emacs.d/elpa/slime-20140913.730/swank/backend.lisp:
;; No such file or directory
;; Aborting.
;; *
之后我仍然有一个REPL,但我认为这很奇怪,我想知道发生了什么以及为什么。
答案 0 :(得分:5)
在Freenode's #lisp channel,我与一位同意MELPA(20140913.730)中当前版本的SLIME被破坏的人交谈过。在我的系统上,缺少整个$ HOME / .emacs.d / elpa / slime-20140913.730 / swank /目录,这可能是它无法编译其中的Lisp文件的原因。
该渠道的其他成员建议从Quicklisp安装SLIME;我做到了这一点并且有效,尽管SLIME版本有点旧(日期为2014-08-01)。这是我做的(我没有安装Quicklisp);调整以匹配您的系统和首选项:
M-x list-packages
,转到SLIME行,按 d ,然后按 x )。 sbcl
。(load "~/Downloads/quicklisp.lisp")
。(quicklisp-quickstart:install)
;可选地,如果您不希望它进入〜/ quicklisp,请添加:path "~/.quicklisp/"
(替换您实际想要安装的任何目录)。(ql:quickload "swank")
。(ql:add-to-init-file)
以修补.sbclrc以始终在SBCL中加载Quicklisp。"~/quicklisp/dists/quicklisp/software/slime-2.9"
(根据您安装Quicklisp的路径进行调整)。M-x slime
应该可以正常工作。答案 1 :(得分:4)
这是因为丢失了slime文件夹中的swank子目录。要修复它,您可以从github简单地下载slime并将文件夹swank
复制到您的slime安装路径,因为您的情况是/home/koz/.emacs.d/elpa/slime-20140913.730/
然后重新启动您的粘液。它将正确加载。