gpt4 book ai didi

clojure - 传递给 : repl$repl 的参数数量错误

转载 作者:行者123 更新时间:2023-12-02 17:12:06 27 4
gpt4 key购买 nike

我无法理解我不理解的复合“入门”示例。当我从 http://weavejester.github.com/compojure/docs/getting-started.html 运行示例时

...我在 lein repl 步骤中收到以下错误:

~/hello-www> lein repl src/hello_www/core.clj
Exception in thread "main" java.lang.IllegalArgumentException: Wrong number of args passed to: repl$repl (NO_SOURCE_FILE:0)
at clojure.lang.Compiler.eval(Compiler.java:5359)
at clojure.lang.Compiler.eval(Compiler.java:5311)
at clojure.core$eval__4350.invoke(core.clj:2364)
at clojure.main$eval_opt__6502.invoke(main.clj:228)
at clojure.main$initialize__6506.invoke(main.clj:247)
at clojure.main$script_opt__6526.invoke(main.clj:263)
at clojure.main$main__6544.doInvoke(main.clj:347)
at clojure.lang.RestFn.invoke(RestFn.java:483)
at clojure.lang.Var.invoke(Var.java:381)
at clojure.lang.AFn.applyToHelper(AFn.java:180)
at clojure.lang.Var.applyTo(Var.java:482)
at clojure.main.main(main.java:37)
Caused by: java.lang.IllegalArgumentException: Wrong number of args passed to: repl$repl
at clojure.lang.AFn.throwArity(AFn.java:439)
at clojure.lang.AFn.invoke(AFn.java:43)
at clojure.lang.Var.invoke(Var.java:369)
at clojure.lang.AFn.applyToHelper(AFn.java:165)
at clojure.lang.Var.applyTo(Var.java:482)
at clojure.core$apply__3776.invoke(core.clj:535)
at leiningen.core$_main__59$fn__61.invoke(core.clj:94)
at leiningen.core$_main__59.doInvoke(core.clj:91)
at clojure.lang.RestFn.applyTo(RestFn.java:138)
at clojure.core$apply__3776.invoke(core.clj:535)
at leiningen.core$_main__59.invoke(core.clj:97)
at user$eval__67.invoke(NO_SOURCE_FILE:1)
at clojure.lang.Compiler.eval(Compiler.java:5343)
... 11 more

我尝试了 lein 的稳定版和开发版,但没有成功。关于我下一步可以寻找什么有什么想法吗?我在 linux 和 cygwin 上得到相同的结果。

当我手动运行它时,它似乎在 Linux 上运行良好:

java -cp "lib/*" clojure.main  src/hello_www/core.clj
2010-05-17 19:34:17.280::INFO: Logging to STDERR via org.mortbay.log.StdErrLog
2010-05-17 19:34:17.281::INFO: jetty-6.1.14
2010-05-17 19:34:17.382::INFO: Started SocketConnector@0.0.0.0:8080

最佳答案

考虑到你对这个问题的评论——相关部分是“使用 lein-stable 可以工作,但不能使用 git 的 master”。 -- 我想说,您受到了 Leiningen 对 2010 年 4 月 16 日提交 44b6369aec1e23bcda1db1b6570a03ca524464e5 中引入的 repl 任务的新处理的影响。

Leiningen 1.1 于 2 月 16 日发布,并以旧方式执行操作,这意味着 repl 任务由 lein 脚本专门处理; post-44b6369aec Leiningen 处理 repl 任务的方式与所有其他任务相同,即通过 leiningen.repl/repl 函数。后者根本不接受额外的参数,因此您会看到与数量相关的 IllegalArgumentException 。在你提问之前,我不确定这种情况将来是否会改变。

应该起作用的是 lein repl 后跟 (require 'hello-www.core);然而遗憾的是,Leiningen 的 HEAD 似乎存在问题,导致其无法工作(至少在我的盒子上)。可以肯定的是,它最终会得到修复,但目前,只需使用 lein-stable 即可。该 Compojure 教程使用 Clojure 1.1,而不是前沿技术...以同样的方式对待 Leiningen 可能会节省您一些时间。

关于clojure - 传递给 : repl$repl 的参数数量错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2851011/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com