【问题标题】:SLIME not loading from EmacsSLIME 未从 Emacs 加载
【发布时间】:2014-09-16 00:16:00
【问题描述】:

我最近在 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,但我觉得这很奇怪,我想知道发生了什么以及为什么。

【问题讨论】:

  • 你用的是哪种 Lisp?
  • @echristopherson: SBCL。
  • 我在使用该版本的 SLIME 和 SBCL 1.2.1 时遇到了完全相同的错误。也许降级 SLIME 会有所帮助。
  • 哦,好吧,那我想我得试试了。可能应该向 SLIME 的维护者记录错误或其他内容。

标签: emacs common-lisp sbcl slime


【解决方案1】:

Freenode's #lisp channel,我与一位同意 MELPA 中 SLIME 的当前版本 (20140913.730) 的人交谈过。在我的系统上,整个 $HOME/.emacs.d/elpa/slime-20140913.730/swank/ 目录都丢失了,这可能是它无法编译其中找到的 Lisp 文件的原因。

频道的其他成员建议从 Quicklisp 安装 SLIME;我这样做了,它奏效了,虽然那里的 SLIME 版本稍旧(日期为 2014-08-01)。这是我所做的(我还没有安装 Quicklisp);调整以匹配您的系统和偏好:

  1. 从 Emacs 的软件包列表中卸载 SLIME(执行 M-x list-packages,转到 SLIME 行,按 d,然后按 x)。
  2. 访问 http://www.quicklisp.org/beta/ 并下载绿色框中的文件(在我的例子中,它进入 ~/Downloads)。
  3. 将 SBCL 升级到 1.2.2 或更高版本。这可能是矫枉过正。
  4. 启动sbcl
  5. 评估(load "~/Downloads/quicklisp.lisp")
  6. 评估(quicklisp-quickstart:install);可选地,如果您不希望它进入 ~/quicklisp,请添加 :path "~/.quicklisp/"(替换您实际希望安装的任何目录)。
  7. 通过评估 (ql:quickload "swank") 来安装 SLIME 和 SWANK。
  8. 可选:评估 (ql:add-to-init-file) 以修补您的 .sbclrc 以始终在 SBCL 中加载 Quicklisp。
  9. 使用 Ctrl+D 退出 SBCL。
  10. 调整您的 Emacs 配置文件,如 SLIME's readme 所示。对于路径条目,请使用 "~/quicklisp/dists/quicklisp/software/slime-2.9"(根据您安装 Quicklisp 的任何路径进行调整)。
  11. 重启 Emacs 和 M-x slime 应该可以工作了。

【讨论】:

  • 感谢您的帮助!只是在寻找完全相同的答案。我发现删除原来的 slime 包是必要的(M-x list-packages,光标在 Slime,d 标记然后 x 删除)
  • @tomwalker 谢谢。我已将其编辑为答案。
【解决方案2】:

这是因为丢失了 slime 文件夹中的 swank 子目录。要修复它,您可以简单地从 github 下载 slime 并将文件夹 swank 复制到您的 slime 安装路径,因为您的情况是 /home/koz/.emacs.d/elpa/slime-20140913.730/ 然后重新启动您的 slime。它将正确加载。

【讨论】:

    猜你喜欢
    • 2011-11-19
    • 2015-07-02
    • 1970-01-01
    • 2010-10-20
    • 2012-09-18
    • 1970-01-01
    • 2013-06-27
    • 2011-02-10
    • 1970-01-01
    相关资源
    最近更新 更多