2012-03-12 15 views
9

Estoy empezando a aprender Clojure y la programación web. Instalé Leiningen 2.0.0-preview2 en Clojure 1.3.0 y puedo crear proyectos correctamente. Pero siempre obtuve el error That's not a task. Use "lein help" to list all tasks. cuando ejecuté lein plugin install lein-noir 1.2.1 para instalar Noir.leiningen install lein-noir failed

También intenté agregar lein-noir como :dev-dependencies en project.clj y ejecuté lein deps pero no hizo nada.

¿Alguien sabe cuál es el problema y cómo puedo resolverlo? ¡Muchas gracias!

Mi entorno:

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

También he tryed Leiningen 1.7, pero ha obtenido un error diferente y alguien dijo que es porque leiningen 1.7 solo puede funcionar con Clojure 1.2.x Aquí está el error cuando uso 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

¿Qué tipo de error que se obtiene con Lein 1.7? Creo que la versión 2.0.0 aún es demasiado "previsualizada" para usarla cómodamente, no pude hacer que funcione también. Aunque uso lein 1.7 con Clojure 1.3 sin ningún problema. – MisterMetaphor

+0

Leiningen 1.x agrupa su propio jarro clojure-1.2 que usa internamente, por lo que no será un problema. Si publica el error que llegó allí, alguien podría ayudarlo. No he instalado leiningen 2 todavía, así que no estoy seguro de cuál es el problema. – deong

+0

He modificado la pregunta. ¿Alguien puede mirar de nuevo? – vreal

Respuesta

8

Si usted ha agregado lein-noir al .lein/profiles.clj como arriba necesita ejecutar el comando: lein new noir yoursitename. ¡No lein noir new my-website!

También añadir lein-noir "1.2.1"

8

Leiningen 2 es muy nuevo. La mayoría de la documentación todavía describe cómo hacer las cosas con leiningen 1.7.0. Las formas en que ha tratado de instalar lein-noir no funcionan con leiningen 2. La documentación que describe cómo lein versión 2 es diferente de lein 1.7.0 se puede encontrar here.

En pocas palabras, debe crear un archivo profiles.clj en su directorio ~/.lein. Para especificar que desea utilizar Lein-noir, su archivo ~/.lein/profiles.clj debe verse como:

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

Ahora puede crear un nuevo proyecto noir escribiendo:

lein new noir projectname 
+1

Luego recibí este error: 'No se pudo encontrar el artefacto lein-noir: lein-noir: pom: 1.2.0 en el centro (http://repo1.maven.org/maven2) Retirando lein-noir/lein-noir/1.2.0/lein-noir-1.2.0.pom (1k) desde http://clojars.org/repo/ No se pudo encontrar el artefacto lein-noir: lein-noir: jar: 1.2.0 en el centro (http : //repo1.maven.org/maven2) Retirando lein-noir/lein-noir/1.2.0/lein-noir-1.2.0.jar (6k) desde http://clojars.org/repo/ Excepción en el hilo "principal" java.lang.RuntimeException: java.util.zip.ZipException: error al abrir el archivo comprimido en clojure.lang.Util.runtimeException (Util.java:165) ... ' – vreal

+0

Incorporé la respuesta publicada por @jasonD. – Brian