2012-03-12 18 views
9

Sto appena iniziando ad imparare Clojure e programmazione web. Ho installato Leiningen 2.0.0-preview2 su Clojure 1.3.0 e può creare correttamente i progetti. Ma ho sempre avuto l'errore That's not a task. Use "lein help" to list all tasks. quando ho eseguito lein plugin install lein-noir 1.2.1 per installare noir.leiningen install lein-noir fallito

Ho anche provato ad aggiungere lein-noir come :dev-dependencies a project.clj e ho eseguito lein deps ma non ha fatto nulla.

Qualcuno sa qual è il problema e come posso risolverlo. Molte grazie!

Il mio ambiente:

  • Mac OS X 10.6.8
  • Java 6
  • Leiningen 2.0.0-Preview2

Ho anche provato Leiningen 1.7 ma ottenuto l'errore diverso e qualcuno ha detto che è perché leiningen 1.7 può funzionare solo con Clojure 1.2.x Ecco l'errore quando utilizzo Leiningen 1.7:

Exception in thread "main" java.lang.RuntimeException: java.lang.NoSuchMethodError: clojure.lang.KeywordLookupSite.(ILclojure/lang/Keyword;)V 
    at clojure.lang.Util.runtimeException(Util.java:165) 
    at clojure.lang.Compiler.eval(Compiler.java:6476) 
    at clojure.lang.Compiler.eval(Compiler.java:6431) 
    at clojure.core$eval.invoke(core.clj:2795) 
    at clojure.main$eval_opt.invoke(main.clj:296) 
    at clojure.main$initialize.invoke(main.clj:315) 
    at clojure.main$script_opt.invoke(main.clj:339) 
    at clojure.main$main.doInvoke(main.clj:426) 
    at clojure.lang.RestFn.invoke(RestFn.java:551) 
    at clojure.lang.Var.invoke(Var.java:426) 
    at clojure.lang.AFn.applyToHelper(AFn.java:193) 
    at clojure.lang.Var.applyTo(Var.java:518) 
    at clojure.main.main(main.java:37) 
Caused by: java.lang.NoSuchMethodError: clojure.lang.KeywordLookupSite.(ILclojure/lang/Keyword;)V 
    at leiningen.util.plugins$stale_QMARK_.(plugins.clj:68) 
    at leiningen.util.plugins__init.load(Unknown Source) 
    at leiningen.util.plugins__init.(Unknown Source) 
    at java.lang.Class.forName0(Native Method) 
    at java.lang.Class.forName(Class.java:264) 
    at clojure.lang.RT.loadClassForName(RT.java:2030) 
    at clojure.lang.RT.load(RT.java:417) 
    at clojure.lang.RT.load(RT.java:398) 
    at clojure.core$load$fn__4610.invoke(core.clj:5386) 
    at clojure.core$load.doInvoke(core.clj:5385) 
    at clojure.lang.RestFn.invoke(RestFn.java:408) 
    at clojure.core$load_one.invoke(core.clj:5200) 
    at clojure.core$load_lib.doInvoke(core.clj:5237) 
    at clojure.lang.RestFn.applyTo(RestFn.java:142) 
    at clojure.core$apply.invoke(core.clj:602) 
    at clojure.core$load_libs.doInvoke(core.clj:5271) 
    at clojure.lang.RestFn.applyTo(RestFn.java:137) 
    at clojure.core$apply.invoke(core.clj:604) 
    at clojure.core$use.doInvoke(core.clj:5363) 
    at clojure.lang.RestFn.invoke(RestFn.java:482) 
    at leiningen.core$loading__4414__auto__.invoke(core.clj:1) 
    at leiningen.core__init.load(Unknown Source) 
    at leiningen.core__init.(Unknown Source) 
    at java.lang.Class.forName0(Native Method) 
    at java.lang.Class.forName(Class.java:264) 
    at clojure.lang.RT.loadClassForName(RT.java:2030) 
    at clojure.lang.RT.load(RT.java:417) 
    at clojure.lang.RT.load(RT.java:398) 
    at clojure.core$load$fn__4610.invoke(core.clj:5386) 
    at clojure.core$load.doInvoke(core.clj:5385) 
    at clojure.lang.RestFn.invoke(RestFn.java:408) 
    at clojure.core$load_one.invoke(core.clj:5200) 
    at clojure.core$load_lib.doInvoke(core.clj:5237) 
    at clojure.lang.RestFn.applyTo(RestFn.java:142) 
    at clojure.core$apply.invoke(core.clj:602) 
    at clojure.core$load_libs.doInvoke(core.clj:5271) 
    at clojure.lang.RestFn.applyTo(RestFn.java:137) 
    at clojure.core$apply.invoke(core.clj:604) 
    at clojure.core$use.doInvoke(core.clj:5363) 
    at clojure.lang.RestFn.invoke(RestFn.java:408) 
    at user$eval1.invoke(NO_SOURCE_FILE:1) 
    at clojure.lang.Compiler.eval(Compiler.java:6465) 
    ... 11 more 
+1

Che tipo di errore che si ottiene con Lein 1.7? Penso che la versione 2.0.0 sia ancora troppo "anteprima" da usare convenientemente - non ho potuto farlo funzionare bene. Anche se io uso lein 1.7 con Clojure 1.3 senza problemi. – MisterMetaphor

+0

Leiningen 1.x raggruppa il proprio jar clojure-1.2 che utilizza internamente, quindi non sarà un problema. Se pubblichi l'errore che hai ricevuto, qualcuno potrebbe essere in grado di aiutarti. Non ho ancora installato leiningen 2, quindi non sono sicuro di quale potrebbe essere il problema. – deong

+0

Ho modificato la domanda. Qualcuno può dare di nuovo un'occhiata? – vreal

risposta

8

Se hai aggiunto lein-noir a .lein/profiles.clj come sopra devi eseguire il comando: lein new noir yoursitename. Non lein noir new my-website!

aggiungere anche lein-noir "1.2.1"

8

Leiningen 2 è molto nuovo. La maggior parte della documentazione là fuori continua a descrivere come fare le cose con leiningen 1.7.0. I modi in cui hai provato a installare lein-noir non funzionano con leiningen 2. La documentazione che descrive come la lein version 2 è diversa da lein 1.7.0 può essere trovata here.

In breve, è necessario creare un file profiles.clj nella directory ~/.lein. Per specificare che si desidera utilizzare Lein-noir, il file ~/.lein/profiles.clj dovrebbe essere simile:

{:user {:plugins [[lein-noir "1.2.1"]]}} 

ora è possibile creare un nuovo progetto noir digitando:

lein new noir projectname 
+1

Quindi ho ricevuto questo errore: 'Impossibile trovare artefatto lein-noir: lein-noir: pom: 1.2.0 in central (http://repo1.maven.org/maven2) Retinire lein-noir/lein-noir/1.2.0/lein-noir-1.2.0.pom (1k) da http://clojars.org/repo/ Impossibile trovare artefatto lein-noir: lein-noir: jar: 1.2.0 in central (http : //repo1.maven.org/maven2) Ritenuta lein-noir/lein-noir/1.2.0/lein-noir-1.2.0.jar (6k) da http://clojars.org/repo/ Eccezione nella discussione "main" java.lang.RuntimeException: java.util.zip.ZipException: errore nell'apertura del file zip in clojure.lang.Util.runtimeException (Util.java:165) ... ' – vreal

+0

Ho incorporato la risposta inviata da @jasonD. – Brian