2014-10-11 11 views
12

Ho installato sidro via el-get, proprio oggi. Quando avvio il sidro in Emacs, il seguente banner è stampato:Perché il sidro trova la versione sbagliata di cider-nrepl e come posso risolverlo?

; 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> 

posso correre mio test di unità in sidro, ma un sacco di altre cose non funzionano, come ricerca doc, ecc Si noti che il prompt è anche nello spazio dei nomi dell'utente, piuttosto che nello spazio dei nomi del progetto.

mio ~/.lein/profiles.clj

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

vedo che lein ha scaricato ciò che è necessario (e poi alcuni, stranamente):

$ 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 

Vedo anche che Lein vuole ne risultano, in sidro nrepl e tools.nrepl, anche se sicuramente non capisco perché:

$ 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]]] 

Infine, il mio proj ect.clj, anche se sto vedendo questo problema per tutti i miei progetti 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"]]) 

Come raggiungo sidro per prendere la giusta sidro nrepl?

risposta

7

L'errore si presenta in modo molto chiaro:

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

avete bisogno di cambiare il vostro profiles.clj dipendenza:

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

o il downgrade emacs versione sidro per corrispondere alla versione di cider-nrepl che si sta chiedendo .

tools.nrepl non è un problema qui, e inoltre, cideractually cannot work without tools.nrepl.

+0

Ok, grazie per quello. Mi sento un po 'sciocco ora ;-) – user268344

+1

Assicurati di inserire "snapshot" – FellyTone84

Problemi correlati