欢迎!请查阅关于页面,了解该工作的更多信息。
我认为以下行可能在 Windows 上引起问题 https://github.com/clojure/clojurescript/blob/master/src/main/clojure/cljs/repl.cljc#L713
例如对于文件参数 "src\duct3\client.cljs"
(str "file://" (.getAbsolutePath file))
在 Windows 上评估为"file://C:\Projects\Playground\duct3\src\duct3\client.cljs"
这并不是合法的文件 URL (https://en.wikipedia.org/wiki/File_URI_scheme#Windows)
因此最终结果是:java.net.UnknownHostException (Java 将该 URL 视为 FTP 地址)。
评论者:vojko
提到行的永久链接 https://github.com/clojure/clojurescript/blob/98656d305e6447c62e36849ee615532d53211fdd/src/main/clojure/cljs/repl.cljc#L736
为 Windows 平台添加了不同的前缀。
已附上补丁。
评论者:admin
请勿标记问题为已解决 - 只有项目管理员如dnolen或mfikes才应该做这件事。
评论者:mfikes
我想知道“{{file://}}”字符串结构是否必要。
如果不必要,那么一个更简单的补丁可能涉及以下表达式的替换
(ana/analyze-file (str "file://" (.getAbsolutePath file)) opts)
为
(ana/analyze-file file opts)
正如你说的,我已经尝试了WO "file://",它工作得很好。谢谢!
嗨David,尽管你已经标记此问题已接受,但我的看法是我向Vojimir提出了一个可能更干净的方法,他尝试了,并且对他来说是有效的。我认为我们会对Vojimir的更干净补丁感兴趣。
嗨Mike,我已经附上一个采用你建议的新补丁。
CLJS-2155-2.patch通过CI测试(/)
CLJS-2155-2.patch已添加到补丁中心(i)