渡された誤った数のArgsが渡されます:REPL $ REPL
質問
私は、私が違いないというcompojureの「始める」例に問題があります。から例を実行したとき 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のStableバージョンと開発者バージョンの両方を成功せずに試しました。私が次に探すことができるものについてのアイデアはありますか? 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 It Worksではなく、GitのMasterではない」ということです。 - 私はあなたがLeininingenの新しい取り扱いに見舞われていると思います repl
コミットで導入されたタスク 44b6369aec1e23bcda1db1b6570a03ca524464e5
2010年4月16日から。
Leiningen 1.1は2月16日にリリースされ、古い方法で物事を行います。 repl
タスクは特別に処理されます lein
脚本;役職-44b6369aec
Leiningenは処理します repl
他のすべてと同じようにタスク、すなわち leiningen.repl/repl
働き。後者は単に追加の議論を受け入れないため、アリティ関連の引数 IllegalArgumentException
あなたが見ていること。あなたが尋ねる前に、それが将来変化する可能性があるかどうかはわかりません。
機能するはずです lein repl
に続く (require 'hello-www.core)
;しかし、残念ながら、Leiningenの頭にはそれが機能するのを防ぐ問題があるようです(少なくとも私の箱の上で)。最終的に修正されることを期待するのは安全な賭けですが、当面は使用するだけです lein-stable
. 。そのCompojureチュートリアルでは、出血エッジではなくClojure 1.1を使用しています... Leiningenを同じように扱う時間を節約するかもしれません。