请分享您的观点,参加 2024 年 Clojure 调查!

欢迎!请参阅 关于 页面以获取更多工作方式的信息。

0
Clojure CLI

tools.deps 是否将版本(例如 1.2.3)视为范围(i.e. [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

但请注意,只有当您是最顶层的项目时,您才能控制版本 - 递归版本可以从上一级覆盖。

...