Clojurescript quickstart 的问题——构建失败

Problems with Clojurescript quickstart -- build fails

我正在尝试关注 Clojurescript Quick-Start

我已经按照快速入门指南中的说明下载了 Clojurescript jar。我已验证它具有适当的大小(约 19M)。我已经创建了文件。但是当我尝试使用命令构建时:

java -cp cljs.jar:src clojure.main build.clj

Java returns 以下堆栈跟踪:

Exception in thread "main" java.io.FileNotFoundException: Could not locate cls/build/api__init.class or cls/build/api.clj on classpath., compiling:(/Users/jnedzel/Documents/prj/closurescript/quickstart/hello_world/build.clj:1:1)
    at clojure.lang.Compiler.load(Compiler.java:7249)
    at clojure.lang.Compiler.loadFile(Compiler.java:7175)
    at clojure.main$load_script.invoke(main.clj:275)
    at clojure.main$script_opt.invoke(main.clj:337)
    at clojure.main$main.doInvoke(main.clj:421)
    at clojure.lang.RestFn.invoke(RestFn.java:408)
    at clojure.lang.Var.invoke(Var.java:379)
    at clojure.lang.AFn.applyToHelper(AFn.java:154)
    at clojure.lang.Var.applyTo(Var.java:700)
    at clojure.main.main(main.java:37)
Caused by: java.io.FileNotFoundException: Could not locate cls/build/api__init.class or cls/build/api.clj on classpath.

有什么想法吗?

TL;DR: build.clj

有错别字

完整解释

从快速入门开始,文件 build.clj 应包含以下内容:

(require 'cljs.build.api)

(cljs.build.api/build "src" {:output-to "out/main.js"})

错误消息显示 Could not locate cls/build/api__init.class。当clojure编译器编译一个ns时,会生成一个名为my/domain/lib__init.class的加载器class文件。这是将在给定 (require 'my.domain.lib) 时加载的 class。

如果是 cljs.build.api,那就是 cljs/build/api__init.class .但它正在尝试加载 cls/build/api__init.class,所以你那里有错字。