Leiningen安装lein-noir失败。

9

我刚刚开始学习Clojure和Web编程。我已经安装了Clojure 1.3.0上的Leiningen 2.0.0-preview2,并且它可以正确地创建项目。但是,每当我运行"lein plugin install lein-noir 1.2.1"来安装noir时,我总是得到"That's not a task. Use "lein help" to list all tasks."的错误。

我还尝试将lein-noir添加为"project.clj"中的":dev-dependencies",并运行"lein deps",但却没有任何作用。

有人知道问题出在哪里以及如何解决吗?非常感谢!

我的环境:

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

我也尝试过Leiningen 1.7,但得到了不同的错误,有人说这是因为Leiningen 1.7只能与Clojure 1.2.x一起使用。以下是当我使用Leiningen 1.7时出现的错误:

“main”线程中的异常:java.lang.RuntimeException: java.lang.NoSuchMethodError: clojure.lang.KeywordLookupSite.(ILclojure/lang/Keyword;)V 在clojure.lang.Util.runtimeException(Util.java:165)处抛出 在clojure.lang.Compiler.eval(Compiler.java:6476)处评估 在clojure.lang.Compiler.eval(Compiler.java:6431)处评估 在clojure.core$eval.invoke(core.clj:2795)处调用 在clojure.main$eval_opt.invoke(main.clj:296)处调用 在clojure.main$initialize.invoke(main.clj:315)处初始化 在clojure.main$script_opt.invoke(main.clj:339)处脚本化 在clojure.main$main.doInvoke(main.clj:426)处执行 在clojure.lang.RestFn.invoke(RestFn.java:551)处调用 在clojure.lang.Var.invoke(Var.java:426)处调用 在clojure.lang.AFn.applyToHelper(AFn.java:193)处应用 在clojure.lang.Var.applyTo(Var.java:518)处调用 在clojure.main.main(main.java:37)处抛出
由于clojure.lang.KeywordLookupSite.(ILclojure/lang/Keyword;)V方法不存在,导致了以上错误。

1
你在使用 lein 1.7 时遇到了什么错误?我认为 2.0.0 版本仍然太“预览版”以至于难以方便地使用——我也无法让它正常工作。虽然我使用 lein 1.7 和 Clojure 1.3 没有任何问题。 - MisterMetaphor
Leiningen 1.x捆绑了自己的clojure-1.2 jar,用于内部使用,因此这不会是一个问题。如果您在那里发布了错误,可能有人可以提供帮助。我还没有安装leiningen 2,所以我不确定那里可能出现什么问题。 - deong
我已经修改了问题。有谁能再看一下吗? - vreal
2个回答

8
如果您已经像上面那样将lein-noir添加到.lein/profiles.clj中,则需要运行以下命令:lein new noir yoursitename。不是lein noir new my-website!同时添加lein-noir "1.2.1"

7
Leiningen 2非常新。现有的大部分文档仍然描述如何使用Leiningen 1.7.0进行操作。您尝试安装lein-noir的方法不适用于Leiningen 2。描述如何将Lein版本2与Lein 1.7.0区分开来的文档可以在此处找到:here
简而言之,您需要在〜/ .lein目录中创建profiles.clj文件。要指定使用lein-noir,请确保您的〜/ .lein / profiles.clj文件如下:
{:user {:plugins [[lein-noir "1.2.1"]]}}

现在您可以通过输入以下命令创建一个新的Noir项目:
lein new noir projectname

1
然后我得到了这个错误:Could not find artifact lein-noir:lein-noir:pom:1.2.0 in central (http://repo1.maven.org/maven2) Retreiving lein-noir/lein-noir/1.2.0/lein-noir-1.2.0.pom (1k) from http://clojars.org/repo/ Could not find artifact lein-noir:lein-noir:jar:1.2.0 in central (http://repo1.maven.org/maven2) Retreiving lein-noir/lein-noir/1.2.0/lein-noir-1.2.0.jar (6k) from http://clojars.org/repo/ Exception in thread "main" java.lang.RuntimeException: java.util.zip.ZipException: error in opening zip file at clojure.lang.Util.runtimeException(Util.java:165)... - vreal
我加入了@jasonD发布的答案。 - Brian

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接