emacs - ¿Por qué la sidra encuentra la versión incorrecta de cider-nrepl y cómo puedo solucionarlo?
clojure (1)
El error se presenta muy claramente:
WARNING: CIDER''s version (0.8.0-snapshot) does not match cider-nrepl''s version (0.7.0)
Debes cambiar tu dependencia de profiles.clj
:
{:user
{:plugins
[[cider/cider-nrepl "0.8.0-SNAPSHOT"]]}
}
O cider-nrepl
la versión de cider-nrepl
emacs para que coincida con la versión de cider-nrepl
que estás solicitando actualmente.
tools.nrepl
no es un problema aquí, y además, cider
realidad no puede funcionar sin tools.nrepl .
He instalado sidra vía el-get, solo hoy. Cuando inicio sidra en emacs, se imprime el siguiente banner:
; 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''s version (0.8.0-snapshot) does not match cider-nrepl''s version (0.7.0)
user>
Puedo ejecutar mis pruebas unitarias en sidra, pero muchas otras cosas no funcionan, como la búsqueda de documentos, etc. Observe que el aviso también se encuentra en el espacio de nombres de usuario, en lugar del espacio de nombres del proyecto.
Mi ~ / .lein / profiles.clj
{:user
{:plugins
[[cider/cider-nrepl "0.7.0"]]}
}
Veo que lein ha descargado lo que se requiere (y algo más, extrañamente):
$ 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
También veo que lein quiere traer sidra y herramientas.nrepl, aunque seguramente no entiendo por qué:
$ 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]]]
Finalmente, mi project.clj, aunque estoy viendo este problema para todos mis proyectos de 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"]])
¿Cómo consigo la sidra para recoger la sidra-nrepl correcta?