Lambdaカクテル

京都在住Webエンジニアの日記です

Invite link for Scalaわいわいランド

sbtで衝突している依存性を検出するにはevictedを利用する

掲題の通り。evictedはプロジェクトの依存性を全て確認し、依存性が衝突していたりbinary incompatibleの可能性があるものを検出できる。

手元にあった古いプロジェクトで試してみた様子:

% sbt
> evicted
[warn] Found version conflict(s) in library dependencies; some are suspected to be binary incompatible:
[warn]  * org.scala-lang.modules:scala-xml_2.12:1.2.0 is selected over 1.0.6
[warn]      +- eu.timepit:refined_2.12:0.9.9                      (depends on 1.2.0)
[warn]      +- org.scala-lang:scala-compiler:2.12.16              (depends on 1.0.6)

ちなみに強制的に間接依存ライブラリのバージョンを固定するにはdependencyOverridesを指定することでsbtに強制的な依存関係の上書きを指揮できる。

dependencyOverrides += "org.scala-lang.modules" %% "scala-xml" % "1.0.6"

参考文献

www.maigo-name.tokyo

www.scala-sbt.org

eed3si9n.com

★記事をRTしてもらえると喜びます
Webアプリケーション開発関連の記事を投稿しています.読者になってみませんか?