という事は承知しています lein deps :tree
は、すべてのプロジェクト依存関係(暗黙的および明示的)の依存関係ツリーを表示します。ただし、「各依存関係はツリー内で一度だけ表示されます。」これが当てはまらないツリーを本当に見たいと思います。ライブラリA
およびB
がライブラリX
を必要とする場合、ライブラリX
A
とB
の両方の下に表示されます。
誰かがlein
または他のツールを使用してこれを行う方法を知っていますか?
次のように、ライニンゲンのプロジェクト定義からMavenのPOMを生成し、verbose
オプションを指定してMavenのdependency:tree
プラグインを使用できます。
$ lein pom
$ mvn dependency:tree -Dverbose=true
これは、以下のようなさまざまな理由で省略された依存関係をリストします。
| +- ring:ring-core:jar:1.4.0:compile
| | +- (org.clojure:clojure:jar:1.5.1:compile - omitted for conflict with 1.7.0)
| | +- (org.clojure:tools.reader:jar:0.9.1:compile - omitted for conflict with 0.10.0-alpha3)
| | +- (ring:ring-codec:jar:1.0.0:compile - omitted for duplicate)
dependency:tree
のその他のオプションについては、その ドキュメント を参照してください。
これは、lein deps :tree
によってleiningenを使用して実行できるようになりました。 depsと:treeの間のスペースに注意してください。
これは、ライニンゲンなしで tools.deps を使用して行うことができます。最小限のdeps.edn
ファイルのような:
{:deps {}}
次に、ツリーを表示します:
% clj -Stree
org.clojure/clojure 1.10.1
org.clojure/spec.alpha 0.2.176
org.clojure/core.specs.alpha 0.2.44