请在 2024 Clojure 状况调查! 中分享您的想法。

欢迎!请查看 关于 页面以了解更多此部分如何工作的信息。

0 投票
ClojureScript

查看 CLJS-2763 以获取重现代码

3 答案

0 投票

评论者为:dnolen

临时修复已应用到 master 上 https://github.com/clojure/clojurescript/commit/cae4792015626ca341e03a4fd9154b6705beba1e

0 投票
_评论者为:mfikes_

尝试重现此问题,使用 CLJS-2763 描述中的文件,我遇到了可能完全不同的错误(使用 1.10.238,或快速修复以上的 JAR,或使用当前 master 编译的 JAR)


$ clj -m cljs.main -co build.edn -c
传递给 ClojureScript 编译器的选项:{:output-dir "out", :closure-variable-map-out #object[java.io.File 0x747d1932 "out/closure_var.map"], :closure-warnings {:check-types :off, :check-variables :off}, :closure-defines {}, :ups-libs nil, :cache-analysis true, :closure-module-roots [], :modules {:a {:output-to "out/a.js", :entries [demo.a]}, :b {:output-to "out/b.js", :entries [demo.foo.b], :depends-on #{:a}}, :cljs-base {:output-to #object[java.io.File 0x3fc05ea2 "out/cljs_base.js"]}}, :optimizations :none, :ups-foreign-libs [], :closure-property-map-in #object[java.io.File 0x7c891ba7 "out/closure_prop.map"], :verbose true, :aot-cache true, :preloads [process.env], :ignore-js-module-exts [".css"], :output-to "out/main.js", :preamble ["oplanimul.js"], :closure-property-map-out #object[java.io.File 0x6240651f "out/closure_prop.map"], :stable-names true, :ups-externs nil, :opts-cache "cljsc_opts.edn", :source-map true, :cache-analysis-format :transit, :closure-variable-map-in #object[java.io.File 0x3cf7298d "out/closure_var.map"], :emit-constants nil}
主线程中发生异常 java.lang.IllegalArgumentException: No implementation of method: :-find-sources of protocol: #'cljs.closure/Compilable found for class: nil
    在 clojure.core$_cache_protocol_fn.invokeStatic(core_deftype.clj:583)
    在 clojure.core$_cache_protocol_fn.invoke(core_deftype.clj:575)
    在 cljs.closure$fn__4972$G__4954__4979.invoke(closure.clj:543)
    在 cljs.closure$fn__5065.invokeStatic(closure.clj:750)
    在 cljs.closure$fn__5065.invoke(closure.clj:714)
    在 cljs.closure$fn__4972$G__4954__4979.invoke(closure.clj:543)
    在 cljs.closure$fn__5075$fn__5076.invoke(closure.clj:761)
    在 clojure.core$map$fn__5583$fn__5584.invoke(core.clj:2734)
    在 clojure.core.protocols$iter_reduce.invokeStatic(protocols.clj:49)
    在 clojure.core.protocols$fn__7839.invokeStatic(protocols.clj:75)
    在 clojure.core.protocols$fn__7839.invoke(protocols.clj:75)
    在 clojure.core.protocols$fn__7781$G__7776__7794.invoke(protocols.clj:13)
    在 clojure.core$transduce.invokeStatic(core.clj:6804)
    在 clojure.core$into.invokeStatic(core.clj:6819)
    在 clojure.core$into.invoke(core.clj:6807)
    在 cljs.closure$fn__5075.invokeStatic(closure.clj:761)
    在 cljs.closure$fn__5075.invoke(closure.clj:714)
    在 cljs.closure$fn__4972$G__4954__4979.invoke(closure.clj:543)
    在 cljs.closure$build$fn__5831.invoke(closure.clj:2902)
    在 cljs.closure$build.invokeStatic(closure.clj:2899)
    在 cljs.closure$build.invoke(closure.clj:2808)
    在 cljs.build.api$build.invokeStatic(api.clj:208)
    在 cljs.build.api$build.invoke(api.clj:189)
    在 cljs.cli$default_compile.invokeStatic(cli.clj:485)
    在 cljs.cli$default_compile.invoke(cli.clj:445)
    在 cljs.cli$compile_opt.invokeStatic(cli.clj:493)
    在 cljs.cli$compile_opt.invoke(cli.clj:491)
    在 cljs.cli$main.invokeStatic(cli.clj:634)
    在 cljs.cli$main.doInvoke(cli.clj:623)
    在 clojure.lang.RestFn.applyTo(RestFn.java:139)
    在 clojure.core$apply.invokeStatic(core.clj:659)
    在 clojure.core$apply.invoke(core.clj:652)
    在 cljs.main$_main.invokeStatic(main.clj:61)
    在 cljs.main$_main.doInvoke(main.clj:52)
    在 clojure.lang.RestFn.applyTo(RestFn.java:137)
    在 clojure.lang.Var.applyTo(Var.java:702)
    在 clojure.core$apply.invokeStatic(core.clj:657)
    在 clojure.main$main_opt.invokeStatic(main.clj:317)
    在 clojure.main$main_opt.invoke(main.clj:313)
    在 clojure.main$main.invokeStatic(main.clj:424)
    在 clojure.main$main.doInvoke(main.clj:387)
    在 clojure.lang.RestFn.applyTo(RestFn.java:137)
    在 clojure.lang.Var.applyTo(Var.java:702)
    在 clojure.main.main(main.java:37)
0 投票
...