欢迎!请参阅 关于 页面以了解更多关于这个工作原理的信息。
我认为下面这行代码可能在 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的更干净的补丁。
Hi Mike,我已经附上了你的建议的新补丁。
CLJS-2155-2.patch通过了CI测试(/)
CLJS-2155-2.patch已添加到Patch Tender中(i)