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

欢迎!请参阅关于页面以了解更多有关此工作方式的信息。

0
Clojure CLI

Tools.deps 是否将版本(例如 1.2.3)视为一个范围(即 [1.2.3,])),就像 Maven 和 Gradle 一样,还是像固定版本(即 [1.2.3])一样?另外,Maven 有“软”版本的概念,其中指定的版本是“首选”。Tools.deps 有类似的概念吗?

1 答案

+1

被选中
 
最佳答案

不,Tools.deps 版本仅指定确切版本,不指定范围,也没有软版本

$ clj -Sdeps '{:deps {org.clojure/data.json {:mvn/version "2"}}}' -Stree
Error building classpath. Could not find artifact org.clojure:data.json:jar:2 in central (https://repo1.maven.org/maven2/)
$ clj -Sdeps '{:deps {org.clojure/data.json {:mvn/version "2.5"}}}' -Stree
Error building classpath. Could not find artifact org.clojure:data.json:jar:2.5 in central (https://repo1.maven.org/maven2/)
$ clj -Sdeps '{:deps {org.clojure/data.json {:mvn/version "2.5.0"}}}' -Stree
org.clojure/clojure 1.11.3
  . org.clojure/spec.alpha 0.3.218
  . org.clojure/core.specs.alpha 0.2.62
org.clojure/data.json 2.5.0

但请注意,您只能控制顶级项目中的版本 - 传递版本总是可以从上面覆盖。

...