我刚开始学习Clojure和网络编程.我已经安装Leiningen 2.0.0-preview2上Clojure 1.3.0,它可以正确地创建项目.但是That's not a task. Use "lein help" to list all tasks.当我跑去lein plugin install lein-noir 1.2.1安装黑色时我总是遇到错误.
我也尝试添加lein-noir作为:dev-dependencies进入project.clj和运行,lein deps但它没有做任何事情.
有谁知道这是什么问题,我该如何解决它.非常感谢!
我的环境:
我也尝试了Leiningen 1.7,但得到了不同的错误,有人说这是因为leiningen 1.7只适用于Clojure 1.2.x这是我使用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
如果你已经添加了lein-noir .lein/profiles.clj,你需要运行命令:
lein new noir yoursitename.不lein noir new my-website!
还添加 lein-noir "1.2.1"
Leiningen 2非常新.大多数文档仍在描述如何使用leiningen 1.7.0进行操作.您尝试安装lein-noir的方法不适用于leiningen 2.可以在此处找到描述lein版本2与lein 1.7.0不同的文档.
简而言之,您需要profiles.clj在~/.lein目录中创建一个文件.要指定要使用的雷音,黑色,你的〜/ .lein/profiles.clj文件应该是这样的:
{:user {:plugins [[lein-noir "1.2.1"]]}}
Run Code Online (Sandbox Code Playgroud)
现在,您可以通过键入以下内容来创建新的noir项目:
lein new noir projectname
Run Code Online (Sandbox Code Playgroud)