[英]Why does sbt download a different Scala version than the one in build.sbt?
[英]Scala, Sbt - download wrong version of library even if it is set in build.sbt
我對Sbt
有一個奇怪的問題。 我在build.sbt
Scala
zio
版本設置為1.0.12
:
val zio = "1.0.12"
但是當我使用sbt
運行應用程序時,它下載了2.x
版本的zio
(屏幕):
我不知道為什么。 我從用戶目錄中刪除.ivy2
和.sbt
目錄。 我多次重啟了 intellij,緩存無效。 即使有清晰的項目,它也總是下載2.0.0
版。 使用此版本檢查整個代碼。
我使用的其他 zio 相關庫版本:
val scalaVersion = "2.13.8"
val zio = "1.0.12"
val zioInteropCats = "3.2.9.0"
val zioInteropLog = "1.0.1"
你知道為什么它會這樣工作嗎? 我不需要在最新版本中使用ZIO
。
我在你的評論中看到你已經解決了這個問題,但這里是你通常如何解決它:
當您的兩個依賴項需要不同版本的庫時,就會出現這種情況。 您明確設置的版本正在被“驅逐”,以支持其他需要的更高版本
您可以通過運行sbt evicted
找到此信息。 如果您的 sbt 版本是最新的(截至 2022 年),它應該能夠使用versionScheme
庫的 versionScheme(如果它們是在添加該功能后發布的版本)以便在可能發生驅逐時提醒您錯誤不相容。
您發現的解決方案是找到引入不兼容版本的依賴項,然后通過更改該依賴項或其他依賴項的版本來解決沖突
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.