运行项目时出现cider-nrepl错误

时间:2016-01-22 18:36:00

标签: clojure leiningen cider nrepl

我尝试使用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"]]}}

1 个答案:

答案 0 :(得分:3)

这样的问题通常是由不同的依赖项引起的,无论是插件还是其他,需要不同版本的同一个库。解决它的最佳方法是运行:

lein deps :tree

并查看建议排除的所有行。它很可能会打印关于多个依赖项的警告,这些依赖项解析了不同版本的nrepl或它的一个依赖项。如果这不会导致明显的冲突,那么尝试,使用lein new app创建一个空白项目,然后让苹果在那里工作,孤立,然后再将其移回主项目。