欢迎!请查看关于页面了解更多关于这个网站的信息。
我认为以下这一行可能在 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 添加到补丁提案(i)