无法在os x中的emacs中使用Slime和Swank与Clojure一起工作

时间:2012-08-14 02:26:10

标签: emacs clojure leiningen slime swank

只是尝试获得一个非常基本的粘液和clojure工作安装,但是当我运行clojure-jack-in时swank仍然失败

我首先得到了lein,然后在我的.emacs(版本24.1)中添加以下内容:

(add-to-list 'load-path "~/.emacs.d/packages/")
(require 'package) 
(add-to-list 'package-archives '("marmalade" . "http://marmalade-repo.org/packages/")) 
(package-initialize)

然后我安装了clojure-mode和paredit。

我的〜/ .lein / profiles.clj

{:user {:plugins [[lein-swank "1.4.4"]]
    :injections [(use '[clojure.repl :only [doc]])]}}

当我打开一个clj文件并运行clojure-jack-in时,swank给了我

slime-repl-79b38c83.el:122:1:Error: (slime-connection-output-buffer) is not a valid place expression

2 个答案:

答案 0 :(得分:3)

您是否通过果酱或其他方法安装了粘液?如果是,则可能是问题所在。 swank与史莱姆的CVS版本不兼容,并安装了自己的粘液包。 (注意你需要来自果酱的粘液复制品)。检查您的~/.emacs.d/elpa目录以及相应的系统级程序包目录,以确保您没有错误的版本位于某处。

如果你确信你只有一个版本的粘液并且它是正确的版本,你可以尝试使用

从项目的顶级目录中的shell启动swank
$ lein swank

然后从带有M-x slime-connect的emacs连接到该swank实例,如果这不起作用,您至少应该获得能够解决问题的其他错误

答案 1 :(得分:2)

你使用的是什么版本的lein?我相信lein-swank 1.4.4意味着与lein2合作。如果您使用的是lein1,则需要lein-swank 1.4.2