build.sbt 已经设置
scalaVersion := "2.11.7"
但是,每当我在 build.sbt 所在的位置运行 sbt 时,我总是会收到此错误
org.scala-lang#scala-library;2.10.5: configuration not found in
org.scala-lang#scala-library;2.10.5: 'master(compile)'. Missing
configuration: 'compile'. It was required from org.scalaz#scalaz-
effect_2.10;7.1.0 compile
一开始,它实际上是获取版本 2.10.5
Getting Scala 2.10.5 (for sbt)...
现在我无法继续。我在我的 macbook 中运行。
最佳答案
sbt 和您的应用程序(由 sbt 管理)对 Scala 有不同的要求。它们都是 Scala 应用程序,因此它们肯定需要 Scala 运行时。
sbt 使用 Scala 的固定版本,并且您可以在项目中安装的所有插件都应该与该特定 Scala 版本兼容。您不能更改 sbt 的 Scala 版本。它被“埋没”在代码中,而不是用户应该改变的东西。
然而,您的 Scala/sbt 项目可以使用他们想要的任何 Scala 项目。这是一个单独的问题。您可以使用 build.sbt
和 scalaVersion
设置您的 Scala 版本。
话虽如此,一开始,sbt 总是会下载自己的内部依赖项,包括 Scala。然后保存在 ~/.sbt/boot
.
➜ $ ls -l ~/.sbt/boot
total 424
-rw-r--r-- 1 jacek staff 0 13 sie 20:22 sbt.boot.lock
drwxr-xr-x 4 jacek staff 136 6 wrz 2015 scala-2.10.4
drwxr-xr-x 4 jacek staff 136 2 wrz 2015 scala-2.10.5
drwxr-xr-x 4 jacek staff 136 31 sty 2016 scala-2.10.6
drwxr-xr-x 4 jacek staff 136 3 lis 2015 scala-2.11.5
-rw-r--r-- 1 jacek staff 217029 20 lip 10:37 update.log
根据您使用的 sbt 版本,您可能会看到正在下载的不同 Scala 版本,但它们是 sbt 的内部版本。你不应该担心。只要接受它:)
附言sbt 内部使用的 Scala 版本与您可能已经为 Scala/sbt 项目下载的版本没有任何不同。
关于scala - 为什么 sbt 下载的 Scala 版本与 build.sbt 中的版本不同?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38934642/