2014-10-11 17 views
12

Zainstalowałem cydr za pośrednictwem el-get, właśnie dzisiaj. Kiedy zaczynają się cydr w emacs, następujące baner drukowany jest:Dlaczego cydr znajduje niewłaściwą wersję cider-nrepl i jak mogę to naprawić?

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

mogę uruchomić moje testy jednostkowe w jabłecznik, ale wiele innych rzeczy nie działają, jak doc odnośnika itp Zauważ, że szybka znajduje się również w przestrzeni nazw użytkownika, a nie w przestrzeni nazw projektu.

My ~/.lein/profiles.clj

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

widzę, że Lein pobrał co jest wymagane (i jeszcze trochę dziwnie):

$ 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 

widzę też, że chce Lein przynieś zarówno cider-nrepl, jak i tools.nrepl, choć z pewnością nie rozumiem, dlaczego:

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

Wreszcie mój proj ect.clj, choć widzę ten problem dla wszystkich moich projektów 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"]]) 

Jak uzyskać jabłecznik odebrać prawidłowy cydru nrepl?

Odpowiedz

7

Błąd jest przedstawiony bardzo wyraźnie:

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

Musisz zmienić swoją zależność profiles.clj:

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

Albo downgrade Emacs wersję cydr dopasować wersję cider-nrepl aktualnie prośbą o .

tools.nrepl nie jest tu problemem, a ponadto, cideractually cannot work without tools.nrepl.

+0

Okay, dzięki za to. Teraz czuję się trochę głupio ;-) – user268344

+1

Upewnij się, że używasz "migawki" – FellyTone84