【发布时间】:2017-11-15 06:21:04
【问题描述】:
我在使用 ClojureScript quickstart 的“生产构建”部分遇到问题。具体来说,当我运行时:java -cp "cljs.jar;src" clojure.main release.clj 我得到一个 java 异常:
Exception in thread "main" java.nio.file.InvalidPathException: Illegal char <:> at index 2: /C:/dev2/Experiments/cljscript/hello_world/out/cljs/core.js, compiling:(C:\dev2\Experiments\cljscript\hello_world\release.clj:3:1)
我在 Windows 上执行此操作,我怀疑 google 闭包编译器不喜欢 Windows 样式的路径,特别是冒号。我的 release.clj 是:
(require 'cljs.build.api)
(cljs.build.api/build "src"
{
:output-to "out/main.js"
:optimizations :advanced
})
(System/exit 0)
我正在调用它:java -cp "cljs.jar;src" clojure.main release.clj。如果我注释掉 :optimizations 行,则构建成功。
【问题讨论】:
-
嘿! ClojureScript 在 Windows 上存在问题并非不可能,尤其是在使用
:none或:advanced(最常用)以外的优化模式时。您是否有机会对您的问题进行最小限度的复制?然后有人可以查看一下,可能会发现您的设置中的问题或重现错误(如果有的话)。 -
另外,示例中的代码不是 windows 样式的路径。 Windows 样式将使用反斜杠,即
out\main.js。 -
@MartinKlepsch - 我在问题中添加了一个 git repo。
-
@Jim 感谢您的建议。我试过了,但没有帮助。我认为它实际上令人窒息:当它构建完整路径时,例如 /C:/dev2/etc
-
我也打过这个。我发现这是 Google 的 Clousure 编译器 https://github.com/google/closure-compiler/issues/2611 的一个未解决问题
标签: clojurescript