我被盗号远愉快地clojurescript的时候,突然这个错误出现了:ClojureScript参数声明错误
java.lang.IllegalArgumentException异常:参数声明clojure.core /我们应该是一个矢量 core.clj: 6567 clojure.core /断言化有效fdecl core.clj:220 clojure.core/SIGS
我曾尝试注释的所有代码位,重新启动服务器等等.....我使用cljsbuild 0.2 .1用于认证。我如何调试这个错误?
下面是完整的堆栈跟踪,和它不显示该行可能会导致错误 -
Compiling "resources/public/cljs/client.js" failed:
java.lang.IllegalArgumentException: Parameter declaration clojure.core/let should be a vector
core.clj:6567 clojure.core/assert-valid-fdecl
core.clj:220 clojure.core/sigs
core.clj:294 clojure.core/defn
RestFn.java:146 clojure.lang.RestFn.applyTo
core.clj:605 clojure.core/apply
compiler.clj:1394 cljs.compiler/macroexpand-1
compiler.clj:1411 cljs.compiler/analyze-seq
compiler.clj:1468 cljs.compiler/analyze
compiler.clj:1416 cljs.compiler/analyze-seq
compiler.clj:1468 cljs.compiler/analyze
compiler.clj:1461 cljs.compiler/analyze
compiler.clj:829 cljs.compiler/analyze-block
compiler.clj:1036 cljs.compiler/eval1347[fn]
MultiFn.java:177 clojure.lang.MultiFn.invoke
compiler.clj:1414 cljs.compiler/analyze-seq
compiler.clj:1468 cljs.compiler/analyze
compiler.clj:1416 cljs.compiler/analyze-seq
compiler.clj:1468 cljs.compiler/analyze
compiler.clj:1461 cljs.compiler/analyze
compiler.clj:1487 cljs.compiler/analyze-file
compiler.clj:1153 cljs.compiler/analyze-deps
compiler.clj:1187 cljs.compiler/eval1420[fn]
MultiFn.java:177 clojure.lang.MultiFn.invoke
compiler.clj:1414 cljs.compiler/analyze-seq
compiler.clj:1468 cljs.compiler/analyze
compiler.clj:1461 cljs.compiler/analyze
compiler.clj:1529 cljs.compiler/compile-file*
compiler.clj:1567 cljs.compiler/compile-file
compiler.clj:1628 cljs.compiler/compile-root
closure.clj:367 cljs.closure/compile-dir
closure.clj:399 cljs.closure/eval2024[fn]
closure.clj:266 cljs.closure/eval1952[fn]
closure.clj:413 cljs.closure/eval2011[fn]
closure.clj:266 cljs.closure/eval1952[fn]
closure.clj:877 cljs.closure/build
compiler.clj:49 cljsbuild.compiler/compile-cljs[fn]
compiler.clj:48 cljsbuild.compiler/compile-cljs
compiler.clj:116 cljsbuild.compiler/run-compiler
NO_SOURCE_FILE:1 user/eval2452[fn]
LazySeq.java:42 clojure.lang.LazySeq.sval
LazySeq.java:60 clojure.lang.LazySeq.seq
RT.java:473 clojure.lang.RT.seq
core.clj:133 clojure.core/seq
core.clj:2725 clojure.core/dorun
core.clj:2741 clojure.core/doall
NO_SOURCE_FILE:1 user/eval2452
Compiler.java:6511 clojure.lang.Compiler.eval
Compiler.java:6501 clojure.lang.Compiler.eval
Compiler.java:6500 clojure.lang.Compiler.eval
Compiler.java:6501 clojure.lang.Compiler.eval
Compiler.java:6477 clojure.lang.Compiler.eval
core.clj:2797 clojure.core/eval
main.clj:297 clojure.main/eval-opt
main.clj:316 clojure.main/initialize
main.clj:349 clojure.main/null-opt
main.clj:427 clojure.main/main
RestFn.java:421 clojure.lang.RestFn.invoke
Var.java:419 clojure.lang.Var.invoke
AFn.java:163 clojure.lang.AFn.applyToHelper
Var.java:532 clojure.lang.Var.applyTo
main.java:37 clojure.main.main
你应该显示代码。我不知道clojurescript只是clojure,但从错误它看起来像你把类似'(让((foo“酒吧”))..'和它应该是'(让[foo“酒吧”] ..' – jcubic
还有一个'(defn foo(bar)..)'而不是'(defn foo [bar] ..)' –