2014-10-11 45 views
12

Ich habe Apfelwein über el-get, nur heute installiert. Als ich Cidre in Emacs starten, wird das folgende Banner gedruckt:Warum findet Cider die falsche Version von Cider-Nrepl und wie kann ich es beheben?

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

Ich kann meine Unit-Tests in Cidre, aber viele andere Dinge nicht funktionieren, wie doc-Lookup usw. Beachten Sie, dass die Aufforderung befindet sich auch im Benutzernamespace und nicht im Namespace des Projekts.

My ~/.lein/profiles.clj

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

Ich sehe, dass lein heruntergeladen, was erforderlich ist (und dann einige, seltsam):

$ 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 

ich das lein auch will bringen sowohl in Cidre-nrepl und tools.nrepl, obwohl ich sicher nicht verstehen, warum:

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

Schließlich mein proj ect.clj, obwohl ich dieses Problem für alle meine clojure Projekte sehe:

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

Wie bekomme ich Cidre die richtige Cidre-nrepl abholen?

Antwort

7

Der Fehler wird sehr klar dargestellt:

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

Sie benötigen profiles.clj Abhängigkeit ändern:

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

Oder Ihre Emacs Cidre Version herabzustufen die Version von cider-nrepl Sie derzeit für die Nachfrage sind anzupassen .

tools.nrepl ist hier kein Problem, und außerdem cideractually cannot work without tools.nrepl.

+0

Okay, danke dafür. Ich fühle mich jetzt etwas albern ;-) – user268344

+1

Stellen Sie sicher, dass Sie "Schnappschuss" groß schreiben – FellyTone84