我尝试使用cider/cider-nrepl
运行lein项目。
我在[cider/cider-nrepl "0.10.1"]
plugins
部分写了project.clj
运行cider-jack-in
后
我有错误 - Caused by: java.lang.RuntimeException: Unable to resolve var: cider.nrepl.middleware.apropos/wrap-apropos in this context
如果我从project.clj
Cider中删除cider插件运行正常,但M-。,cider-jump-to-var
功能不起作用。
更新
我创建了新的最小lein app:
$lein deps :tree
[clojure-complete "0.2.3" :scope "test" :exclusions [[org.clojure/clojure]]]
[org.clojure/clojure "1.6.0"]
[org.clojure/tools.nrepl "0.2.6" :scope "test" :exclusions [[org.clojure/clojure]]]
project.clj
(defproject app "0.1.0-SNAPSHOT"
:description "FIXME: write description"
:url "http://example.com/FIXME"
:license {:name "Eclipse Public License"
:url "http://www.eclipse.org/legal/epl-v10.html"}
:dependencies [[org.clojure/clojure "1.6.0"]])
$lein version
Leiningen 2.5.1 on Java 1.8.0_72-internal OpenJDK Server VM
我有lein的自定义profile.clj
。
{:repl {:dependencies [[org.clojure/tools.nrepl "0.2.12"]]}}
答案 0 :(得分:3)
这样的问题通常是由不同的依赖项引起的,无论是插件还是其他,需要不同版本的同一个库。解决它的最佳方法是运行:
lein deps :tree
并查看建议排除的所有行。它很可能会打印关于多个依赖项的警告,这些依赖项解析了不同版本的nrepl或它的一个依赖项。如果这不会导致明显的冲突,那么尝试,使用lein new app
创建一个空白项目,然后让苹果在那里工作,孤立,然后再将其移回主项目。