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-moduleExt [".css"], :output-to "out/main.js", :preamble ["cljs/imul.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: 无法找到协议方法: :-find-sources 的实现,协议为: #'cljs.closure/Compilable,类为: 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票数
参考: https://clojure.atlassian.net/browse/CLJS-2765 (由 dnolen 报告)
...