我无法初始化Swank或Clojure-Jack-in。

8

我有一个问题。我已经使用Marmalade安装了Clojure、Slime、Slime-repl和Elein。现在我打开我的项目并调用Elein-Swank,但是我得到了以下错误信息:

Starting swank..
error in process filter: slime-presentation-init-keymaps: Symbol's function definition is void: slime-define-both-key-bindings
error in process filter: Symbol's function definition is void: slime-define-both-key-bindings

如果我尝试使用clojure-jack-in,会出现以下情况:

Debugger entered--Lisp error: (error "Could not start swank server: That's not a task. Use \"lein help\" to list all tasks.
signal(error ("Could not start swank server: That's not a task. Use \"lein help\" to list all tasks.\n"))
error("Could not start swank server: %s" "That's not a task. Use \"lein help\" to list all tasks.\n")
  clojure-jack-in-sentinel(#<process swank> "exited abnormally with code 1\n")

我该做什么?
4个回答

6

我不确定 elein 是什么,但我认为你需要安装 swank-clojure 插件才能使用 clojure-jack-in

lein plugin install swank-clojure 1.3.3

不行,它还是不起作用...我安装了它,但我收到了与之前相同的消息。 - user1050817
确保你拥有最新版本的swank-clojure和leiningen。在命令行上输入"lein help",查看是否有jack-in任务。如果没有,那么你缺少swank-clojure部分... - ivant
在尝试启动 jack-in 之前,还需于项目目录中调用 lein deps。如果缺少某些依赖项,Lein 将会下载它们,但会输出额外的行,这可能会让 clojure-jack-in 解析混乱(这就发生在我身上,就在昨天)。 - ivant
2
请注意,安装命令应为lein plugin install swank-clojure 1.3.3 - Gregg Williams

4

更新:自2013年以来,M-x nrepl-jack-in是首选方法


虽然jack-in方法是首选方法,但您也可以尝试旧版本的经典方法:运行

$ lein swank

从项目的主目录开始,然后执行:
M-X slime-connect

从Emacs调用,您仍需要使用Swank-Clojure:

$ lein plugin install swank-clojure 1.3.3

更准确地说,“clojure-jack-in”和整个“swank-clojure”支持在“clojure-mode” 2.0.0中被移除。现在,“nrepl.el”是唯一的选择。 - Bozhidar Batsov

1

当我从旧版本克隆了别人的Clojure项目时,发生了这种情况。他们的project.clj文件中有:

:dev-dependencies [[lein-clojars "0.5.0"]
                   [swank-clojure "1.2.1"]]

我认为这是不正确的,如果你正在使用M-x clojure-jack-in。删除这些行,运行lein deps并插入即可。


0

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接