2012-03-12 35 views
9

Tôi mới bắt đầu học Clojure và lập trình web. Tôi đã cài đặt Leiningen 2.0.0-preview2 trên Clojure 1.3.0 và có thể tạo dự án một cách chính xác. Nhưng tôi luôn gặp lỗi That's not a task. Use "lein help" to list all tasks. khi tôi chạy lein plugin install lein-noir 1.2.1 để cài đặt noir.leiningen install lein-noir thất bại

Tôi cũng đã cố thêm lein-noir làm :dev-dependencies vào project.clj và chạy lein deps nhưng không có gì.

Có ai biết vấn đề là gì không và cách tôi có thể giải quyết vấn đề. Cảm ơn rất nhiều!

môi trường của tôi:

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

Tôi cũng đã tryed Leiningen 1,7 nhưng đã nhận lỗi khác nhau và ai đó nói đó là vì leiningen 1.7 chỉ có thể làm việc với Clojure 1.2.x Đây là lỗi khi tôi sử dụng 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

Bạn gặp lỗi nào với lein 1.7? Tôi nghĩ rằng phiên bản 2.0.0 vẫn còn quá "xem trước" để sử dụng thuận tiện - tôi không thể làm cho nó hoạt động tốt. Mặc dù tôi sử dụng lein 1.7 với Clojure 1.3 mà không có bất kỳ vấn đề gì. – MisterMetaphor

+0

Leiningen 1.x bao gồm bình clojure-1.2 riêng mà nó sử dụng trong nội bộ, do đó sẽ không có vấn đề gì. Nếu bạn đăng lỗi bạn gặp phải, ai đó có thể giúp bạn. Tuy nhiên tôi chưa cài đặt leiningen 2, vì vậy tôi không chắc chắn vấn đề có thể có ở đó. – deong

+0

Tôi đã sửa đổi câu hỏi. Có ai có thể nhìn lại không? – vreal

Trả lời

8

Nếu bạn đã thêm lein-noir vào .lein/profiles.clj như trên, bạn cần phải chạy lệnh: lein new noir yoursitename. Không lein noir new my-website!

Đồng thời thêm lein-noir "1.2.1"

8

Leiningen 2 rất mới. Hầu hết tài liệu ở đó vẫn mô tả cách làm việc với leiningen 1.7.0. Những cách bạn đã cố gắng để cài đặt lein-noir không làm việc với leiningen 2. Tài liệu mô tả cách lein phiên bản 2 khác với lein 1.7.0 có thể được tìm thấy here.

Tóm lại, bạn cần tạo tệp profiles.clj trong thư mục ~/.lein của mình. Để xác định bạn muốn sử dụng Lein-noir, tập tin ~/.lein/profiles.clj của bạn sẽ giống như thế:

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

Bây giờ bạn có thể tạo một dự án noir mới bằng cách gõ:

lein new noir projectname 
+1

Sau đó, tôi nhận được lỗi này: 'Không thể tìm thấy hiện vật lein-noir: lein-noir: pom: 1.2.0 ở trung tâm (http://repo1.maven.org/maven2) Truy xuất lein-noir/lein-noir/1.2.0/lein-noir-1.2.0.pom (1k) từ http://clojars.org/repo/ Không thể tìm thấy tạo phẩm lein-noir: lein-noir: jar: 1.2.0 ở trung tâm (http: : //repo1.maven.org/maven2) Truy xuất lein-noir/lein-noir/1.2.0/lein-noir-1.2.0.jar (6k) từ http://clojars.org/repo/ Ngoại lệ trong chuỗi "main" java.lang.RuntimeException: java.util.zip.ZipException: lỗi khi mở tệp zip tại clojure.lang.Util.runtimeException (Util.java:165) ... ' – vreal

+0

Tôi kết hợp câu trả lời được đăng bởi @jasonD. – Brian