web-dev-qa-db-ja.com

ライニンゲンで完全な依存関係ツリーを表示する

という事は承知しています lein deps :treeは、すべてのプロジェクト依存関係(暗黙的および明示的)の依存関係ツリーを表示します。ただし、「各依存関係はツリー内で一度だけ表示されます。」これが当てはまらないツリーを本当に見たいと思います。ライブラリAおよびBがライブラリXを必要とする場合、ライブラリXABの両方の下に表示されます。

誰かがleinまたは他のツールを使用してこれを行う方法を知っていますか?

24
metasoarous

次のように、ライニンゲンのプロジェクト定義から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のその他のオプションについては、その ドキュメント を参照してください。

33
siphiuel

これは、lein deps :treeによってleiningenを使用して実行できるようになりました。 deps:treeの間のスペースに注意してください。

29
pungoyal

これは、ライニンゲンなしで 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
3
Micah Elliott