; CIDER 0.11.0snapshot (package: 20160125.741) (Java 1.8.0_72, Clojure 1.7.0, nREPL 0.2.10)
WARNING: CIDER requires nREPL 0.2.12 (or newer) to work properly
WARNING: The following required nREPL ops are not supported:
apropos classpath complete eldoc format-code format-edn info inspect-pop inspect-push inspect-refresh macroexpand ns-list ns-vars ns-path refresh resource stacktrace toggle-trace-var toggle-trace-ns undef
Please, install (or update) cider-nrepl 0.11.0-SNAPSHOT and restart CIDER
WARNING: CIDER's version (0.11.0-snapshot) does not match cider-nrepl's version (not installed). Things will break!
user>
Как устранить конфликты в пакетах?
project.clj:
(defproject lesson-rpg1 "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.7.0"]]
:main ^:skip-aot lesson-rpg1.core
:target-path "target/%s"
:profiles {:uberjar {:aot :all}})
lein deps :tree
D:\CODE\Clojure\lesson-rpg1>lein deps :tree
[clojure-complete "0.2.3" :exclusions [[org.clojure/clojure]]]
[org.clojure/clojure "1.7.0"]
[org.clojure/tools.nrepl "0.2.10" :exclusions [[org.clojure/clojure]]]
D:\CODE\Clojure\lesson-rpg1>
lein version:
D:\CODE\Clojure\lesson-rpg1>lein version
Leiningen 2.5.2 on Java 1.8.0_72 Java HotSpot(TM) 64-Bit Server VM
D:\CODE\Clojure\lesson-rpg1>
Ответ
Сложилась неприятная ситуация
...в самом Leiningen будет указана старая версия tools.nrepl до следующего релиза. Поэтому нужно указать версию явно в проекте или профиле (см. далее):
[org.clojure/tools.nrepl "0.2.12" :exclusions [[org.clojure/clojure]]]
...и так, чтобы при этом не приклеивалась зависимость от конкретной версии Clojure. И ещё, похоже, потребуется это:
[cider/cider-nrepl "0.11.0-SNAPSHOT"]
Что происходит
Если проект не указывает версию org.clojure/tools.nrepl явно, то используется та, что распространяется с Leiningen, в вашем случае это оказалась старая версия 0.2.10
Можно действовать любым из следующих способов:
указать её явно прямо в проекте в списке зависимостей
добавить в профиль по умолчанию (~/.lein/profiles.clj)
это зависимость, поэтому подлежит записи под ключом :dependencies
обновить Leiningen и получить новую встроенную версию tools.nrepl
на данный момент неактуально, ждём очередного релиза Leiningen.
Поскольку речь о совместимости проекта с вашей собственной средой разработки (а код самого проекта не зависит от этого), первый вариант плохо подходит, а второй скорее "заплатка".
Комментариев нет:
Отправить комментарий