短版本:使用lein swank启动swank服务器时运行Mx slime-connect或Mx clojure-jack-in时出错.
我在Ubuntu 10.10上使用emacs 24.0.50.1.我在ELPA的emacs中安装了以下软件包:clojure-mode,paredit,slime,slime-repl
我从github安装了leiningen并将其添加到类路径中,然后运行
lein plugin install swank-clojure 1.3.3.之后我创建了一个新的目录〜/ tmp /,cd进入它并运行:
lein new test-project这似乎设置一切正常.然后我在emacs中打开了/tmp/new-project/project.clj并将其更改为:
(defproject test-project "1.0.0-SNAPSHOT"
:description "Test Project"
:dependencies [[org.clojure/clojure "1.2.1"]
[org.clojure/clojure-contrib "1.2.0"]]
:dev-dependencies [[swank-clojure "1.3.3"]])
Run Code Online (Sandbox Code Playgroud)
在那之后我又回到在/ tmp /新项目文件夹,跑lein deps然后lein swank下载依赖关系,并开始这给输出斯旺克服务器:
Connection opened on local port 4005.
Run Code Online (Sandbox Code Playgroud)
回到emacs是我遇到连接到swank服务器的问题.我试过打开core.clj文件并运行M-x slime-connect它会产生错误:
Symbol's function definition is void: define-slime-contrib
Run Code Online (Sandbox Code Playgroud)
这让我觉得它或者看不到swank服务器正在运行,或者有一些配置需要为它查看服务器.我也尝试过(打开同一个文件并打开project.clj)M-x clojure-jack-in我假设尝试在项目文件夹中启动clojure REPL但是它提供了以下内容:
Debugger entered--Lisp error: (error "Could not start swank server: sh: lein: not found
")
signal(error ("Could …Run Code Online (Sandbox Code Playgroud)