如何在clojure&amp ;;中修复回溯粘液

时间:2010-11-20 16:09:03

标签: clojure slime swank

我是一个试图获得emacs&的clojure noob粘土成立。似乎没有一种真正的方法可以做到这一点,所以我已经关注了一些博客文章以及swank-clojure和leiningen自述文件。

大部分都有效。我的问题是,如果我尝试从回溯中选择重启0 [QUIT],我会得到

进程过滤器中的

'错误:参数数量错误:nil,0'

(我也看到关于'M-x slime-connect'的警告,关于粘液和swank是不匹配的版本,但Googling建议这是预期的。)

这是Debian Lenny。我通过'git clone git://git.boinkor.net/slime.git'得到了粘液。 Clojure和clojure-contrib是1.2.0,而swank-clojure是1.2.1。

有人见过这个吗?或者,是否有最新的兼容版本列表?非常感谢。

修改

看起来可能是this issue。我在该主题中跟随了与博客相同的博客文章。

修改

是。使用ELPA修复slime和slime-repl软件包。

3 个答案:

答案 0 :(得分:2)

不要通过git获取粘液,而是使用ELPA。请参阅我对该问题的编辑中的链接。

答案 1 :(得分:1)

在过去的一年里,clojure生态系统发生了很大的变化,因此很多链接最多的教程都很难做到。你真的不需要构建clojure / contrib并再安装它。 Maven2和leinengen都很适合你。

你可以通过安装lein(从教程中)然后创建一个新项目来启动和修改。即使在我的大型项目中,这足以让我高兴。你真的需要来安装clojure系统。

来自(ubuntu-10.10)系统,在我运行之前从未见过clojure:

dev:~$ lein new foo
Created new project in: foo
dev:~$ cd foo
dev:~/foo$ ls
    project.clj  README  src  test
dev:~/foo$ lein repl
Downloading: org/clojure/clojure/1.2.0/clojure-1.2.0.pom from central
Downloading: org/clojure/clojure-contrib/1.2.0/clojure-contrib-1.2.0.pom from central
Downloading: org/clojure/clojure-contrib/1.2.0/clojure-contrib-1.2.0.pom from clojure
Transferring 4K from clojure
Downloading: org/clojure/clojure/1.2.0/clojure-1.2.0.jar from central
Downloading: org/clojure/clojure-contrib/1.2.0/clojure-contrib-1.2.0.jar from central
Downloading: org/clojure/clojure-contrib/1.2.0/clojure-contrib-1.2.0.jar from clojure
Transferring 466K from clojure
Copying 2 files to /home/arthur/foo/lib
"REPL started; server listening on localhost:20092."
user=> (+ 1 2 3)

这就是你真正需要的。玩得开心:)(当然,对于clojure生态系统来说还有很多,但不需要真正匆忙进入它)

ps:将swank-clojure添加为dev依赖项并运行lein swank然后从emacs内部进行slime-connect

ps:我点击'q'退出回溯。

答案 2 :(得分:0)

以下是google的更新:自上次回答后事情发生了变化,现在通过clojure-jack-in命令启动swank / slime的正确方法是在最新版本的clojure-mode中使用相应的{{1最新版本的lein jack-in中的命令。使用swank-clojure,将自动为您安装除clojure-jack-in以外的所有Emacs依赖项。请勿通过ELPA或git手动安装slime.el或slime-repl.el。