Подтвердить что ты не робот

Почему сидр находит неправильную версию cider-nrepl и как я могу ее исправить?

Я установил сидр через el-get, только сегодня. Когда я запускаю сидр в emacs, печатается следующий баннер:

; CIDER 0.8.0-snapshot (Java 1.7.0_65, Clojure 1.6.0, nREPL 0.2.6)
WARNING: The following required nREPL ops are not supported: 
eldoc ns-list ns-vars undef
Please, install (or update) cider-nrepl 0.8.0-snapshot and restart CIDER
WARNING: CIDER version (0.8.0-snapshot) does not match cider-nrepl version (0.7.0)
user> 

Я могу запускать свои модульные тесты в сидере, но многие другие вещи не работают, например, поиск документов и т.д. Обратите внимание, что приглашение также находится в пространстве имен пользователей, а не в пространстве имен проектов.

My ~/.lein/profiles.clj

{:user 
 {:plugins 
  [[cider/cider-nrepl "0.7.0"]]}
}

Я вижу, что лейн загрузил требуемые (а затем некоторые, как ни странно):

$ find ~/.m2 -name "*nrepl*"
~/.m2/repository/cider/cider-nrepl
~/.m2/repository/cider/cider-nrepl/0.8.0-SNAPSHOT/cider-nrepl-0.8.0-20140914.152356-14.jar.sha1
~/.m2/repository/cider/cider-nrepl/0.8.0-SNAPSHOT/cider-nrepl-0.8.0-20140914.152356-14.pom
~/.m2/repository/cider/cider-nrepl/0.8.0-SNAPSHOT/cider-nrepl-0.8.0-20140914.152356-14.jar
~/.m2/repository/cider/cider-nrepl/0.8.0-SNAPSHOT/cider-nrepl-0.8.0-20140914.152356-14.pom.sha1
~/.m2/repository/cider/cider-nrepl/0.8.0-SNAPSHOT/cider-nrepl-0.8.0-SNAPSHOT.pom
~/.m2/repository/cider/cider-nrepl/0.8.0-SNAPSHOT/cider-nrepl-0.8.0-SNAPSHOT.jar
~/.m2/repository/cider/cider-nrepl/0.7.0/cider-nrepl-0.7.0.jar.sha1
~/.m2/repository/cider/cider-nrepl/0.7.0/cider-nrepl-0.7.0.pom.sha1
~/.m2/repository/cider/cider-nrepl/0.7.0/cider-nrepl-0.7.0.jar
~/.m2/repository/cider/cider-nrepl/0.7.0/cider-nrepl-0.7.0.pom
~/.m2/repository/org/clojure/tools.nrepl
~/.m2/repository/org/clojure/tools.nrepl/0.2.6/tools.nrepl-0.2.6.pom.sha1
~/.m2/repository/org/clojure/tools.nrepl/0.2.6/tools.nrepl-0.2.6.pom
~/.m2/repository/org/clojure/tools.nrepl/0.2.6/tools.nrepl-0.2.6.jar.sha1
~/.m2/repository/org/clojure/tools.nrepl/0.2.6/tools.nrepl-0.2.6.jar

Я также вижу, что лейн хочет задействовать как сидр-nrepl, так и tools.nrepl, хотя я, конечно же, не понимаю, почему:

$ lein deps :tree
warn
 [cider/cider-nrepl "0.7.0"]
   [cljs-tooling "0.1.3" :exclusions [[org.clojure/clojure]]]
   [compliment "0.1.3" :exclusions [[org.clojure/clojure]]]
   [org.clojure/java.classpath "0.2.0" :exclusions [[org.clojure/clojure]]]
   [org.clojure/tools.namespace "0.2.5" :exclusions [[org.clojure/clojure]]]
   [org.clojure/tools.trace "0.7.8" :exclusions [[org.clojure/clojure]]]
   [org.tcrawley/dynapath "0.2.3" :exclusions [[org.clojure/clojure]]]
 [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]]]

Наконец, мой проект .clj, хотя я вижу эту проблему для всех моих проектов clojure:

(defproject cider-demo "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"]])

Как получить сидр для получения правильного сидра-nrepl?

4b9b3361

Ответ 1

Ошибка представлена ​​очень четко:

WARNING: CIDER version (0.8.0-snapshot) does not match cider-nrepl version (0.7.0)

Вам нужно изменить зависимость profiles.clj:

{:user 
 {:plugins 
  [[cider/cider-nrepl "0.8.0-SNAPSHOT"]]}
}

Или измените версию вашего симулятора emacs в соответствии с версией cider-nrepl, которую вы сейчас запрашиваете.

tools.nrepl здесь не проблема, и, кроме того, cider на самом деле не может работать без tools.nrepl.