【问题标题】:Scala, Sbt - download wrong version of library even if it is set in build.sbtScala,Sbt - 即使在 build.sbt 中设置了库,也下载错误版本的库
【发布时间】:2022-06-15 20:14:49
【问题描述】:

我对@9​​87654323@ 有一个奇怪的问题。我有一个Scala zio 版本在build.sbt 中设置为1.0.12

 val zio = "1.0.12"

但是当我使用sbt 运行应用程序时,它下载了zio 版本2.x(屏幕):

我不知道为什么。我从用户目录中删除了.ivy2.sbt 目录。我多次重新启动intellij,缓存无效。即使有明确的项目,它也总是下载版本2.0.0。使用此版本检查整个代码。

我使用的其他 zio 相关的 lib 版本:

val scalaVersion        = "2.13.8"
val zio                 = "1.0.12"
val zioInteropCats      = "3.2.9.0"
val zioInteropLog       = "1.0.1"

您知道为什么会这样吗?我不需要在最新版本中使用ZIO

【问题讨论】:

  • Nvm,tap 的版本太高。更改为 0.19.4 现在可以正常工作了

标签: scala sbt scala-cats zio


【解决方案1】:

我在您的评论中看到您已经解决了这个问题,但一般来说,这是您解决问题的方法:

当您的两个依赖项需要不同 版本的库时,就会出现这种情况。您明确设置的版本正在被“驱逐”,以支持其他需要的更高版本

您可以通过运行sbt evicted 找到此信息。如果您的 sbt 版本是最新的(截至 2022 年),它应该能够将 versionScheme 用于 scala 库(如果它们是在添加该功能后发布的版本),以便在可能驱逐时提醒您错误不兼容。

您找到的解决方案是找到引入不兼容版本的依赖项,然后通过更改该依赖项或其他依赖项的版本来解决冲突

【讨论】:

    猜你喜欢
    • 2013-11-18
    • 1970-01-01
    • 2012-09-08
    • 2013-07-26
    • 2023-04-04
    • 2023-02-22
    • 2012-07-22
    • 1970-01-01
    • 2018-12-06
    相关资源
    最近更新 更多