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

欢迎!请参阅 关于 页面了解更多关于该网站如何运作的信息。

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 映射。
@alexmiller 如果你不介意的话,根据最近的Clojure工具变更,add-lib的状态如何?这个功能(作为一个alpha库的实验分支,非常明显不会做出任何承诺)是你打算放弃的吗?或者在路线图上还有能够从REPL加载库的计划吗?
...