正如标题所说,clj -X:deps tree
会忽略-Sdeps
选项
$ clj -Sdeps '{:deps {ring/ring-core {:mvn/version "1.9.1"}}}' -X:deps tree
org.clojure/clojure 1.10.2
. org.clojure/spec.alpha 0.2.194
. org.clojure/core.specs.alpha 0.2.56
与clj -Stree
相反
$ clj -Sdeps '{:deps {ring/ring-core {:mvn/version "1.9.1"}}}' -Stree
org.clojure/clojure 1.10.2
. org.clojure/spec.alpha 0.2.194
. org.clojure/core.specs.alpha 0.2.56
ring/ring-core 1.9.1
. ring/ring-codec 1.1.3
. commons-codec/commons-codec 1.15
. commons-io/commons-io 2.6
. commons-fileupload/commons-fileupload 1.4
X commons-io/commons-io 2.2 :older-version
. crypto-random/crypto-random 1.2.0
X commons-codec/commons-codec 1.6 :older-version
. crypto-equality/crypto-equality 1.0.0
这个行为是有意为之的吗?如果是,那是为什么?
我认为这是故意的,因为我找到了这种行为来自这个似乎是有意为之的改动这里,但我还是不明白原因。
顺便说一下,如果我想使用clj -X:deps tree
,我知道有一个这样的解决方案
$ clj -Sdeps ... -Strace
$ clj -X:deps tree :file '"trace.edn"'