请在 2024 年 Clojure 状态调查! 分享您的想法。

欢迎!请参阅 关于 页面以获取有关这是如何工作的更多信息。

0
Clojure
编辑

clojure.tools.deps.alpha.libmap.clj 中的 'read-cp' 函数在尝试使用 File/separator 正则表达式模式拆分 path-in-repo 字符串时失败。这在第 41 行。

(str/split path-in-repo (re-pattern File/separator))

在 Windows 上,File/separator 计算结果为 \\,但对于正则表达式,它需要 \\\\

这在 Linux 和 Mac OS 上工作正常

1 答案

0

入选
 
最佳答案

我相信 Alex Miller(我认为他最有可能有权做出此类更改的人)非常清楚这一点,但一种修复方法是调用 (re-pattern (str/re-quote-replacement File/separator)),其中 str 是对 clojure.string 命名空间的典型别名。

是的,这是一个正确的修复。不幸的是,由于我正在积极工作在这个分支上,add-lib分支现在处于一个非常奇怪的状态。特别是master中有一些新(未发布)的代码,我已经将其合并到add-lib分支中,所以我认为add-lib的最新代码在目前情况下实际上不会与任何已发布的clj兼容。
实际上,这段代码很快就将被弃用,并且add-lib将不再支持从java类路径构建lib map。
@alexmiller,如果您不介意的话,根据最近clojure工具的变化,add-lib的状态如何?这个功能(非常明显没有任何承诺,只是一个alpha库的实验分支)你是打算丢弃吗?还是在roadmap中还有计划能够在REPL中加载库吗?
...