2024 Clojure 国家调查! 中分享您的想法。

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

0
ClojureScript
给定以下项目


;; 文件 src/foo.cljs
(ns foo
  (:require [cljs.js :as cljs]))

(defn -main []
  (enable-console-print!)
  (println "hello"))



;; 文件 deps.edn
{:deps {org.clojure/clojure {:mvn/version "1.10.0-RC5"}
        org.clojure/clojurescript {:mvn/version "1.10.439"}
        }
 :aliases {:build-simple {:main-opts ["-m" "cljs.main" "-O" "simple" "-co" "{:pretty-print,false,:optimize-constants,true,:static-fns,true}" "-d" "out" "-c" "foo"]}}}


出现以下堆栈跟踪


线程 "main" 中发生异常:clojure.lang.ExceptionInfo:编译文件失败:out/cljs/core.cljc {:file #object[java.io.File 0x7e7f3cfd "out/cljs/core.cljc"]}
...
原因:clojure.lang.ExceptionInfo:断言失败:检测到循环依赖,cljs.core -> cljs.core
...
原因:java.lang.AssertionError:断言失败:检测到循环依赖,cljs.core -> cljs.core
...


当将 {{:optimize-constants}} 设置为 {{false}} 或当不要求 {{cljs.js}} 时,不会出现此异常。

此设置在 CloJS 网站在以下指南中提出: https://script.clojure.org/guides/self-hosting

1 答案

0
参考:https://clojure.atlassian.net/browse/CLJS-3021 (由 borkdude 报告)
...