【问题标题】:sbt configuring -- or using an already installed -- newer version of Scalasbt 配置——或者使用已经安装的——更新版本的 Scala
【发布时间】:2016-03-20 08:27:30
【问题描述】:

当我安装最新版本的 sbt (v0.13.9) 然后运行以下命令下载 scala 和相关库时:

jdoe$ sbt test
jdoe$
jdoe$ sbt console
[info] Set current project to nmvega (in build file:/home/jdoe/)
[info] Starting scala interpreter...
[info]
Welcome to Scala version 2.10.5 (Java HotSpot(TM) 64-Bit Server VM, Java 1.8.0_31).
Type in expressions to have them evaluated.
Type :help for more information.

scala>

我得到了 Scala 版本 2.10.5,如上所示。

如何让 sbt 构建(或使用单独安装的)scala 版本,比如 v2.12.0-M3 ?我找不到这方面的说明。

提前谢谢你。

【问题讨论】:

标签: scala sbt


【解决方案1】:

正如您在文档中看到的那样,SBT 提供了许多方法来Configure and use Scala

设置用于构建项目的 Scala 版本

scalaVersion 配置用于编译的 Scala 版本。默认情况下,sbt 还添加了对这个版本的 Scala 库的依赖。有关如何禁用此自动依赖关系的信息,请参阅下一节。如果未指定 Scala 版本,则使用构建 sbt 的版本。建议明确指定 Scala 的版本。

例如,将 Scala 版本设置为“2.9.2”,

scalaVersion := "2.9.2"

禁用对 Scala 库的自动依赖

sbt 默认添加了对 Scala 标准库的依赖。要禁用此行为,请将 autoScalaLibrary 设置为 false。

autoScalaLibrary := false

暂时切换到不同的 Scala 版本

要将所有范围内的 Scala 版本设置为特定值,请使用 ++ 命令。例如,要临时使用 Scala 2.8.2,请运行:

> ++ 2.8.2

使用本地 Scala 安装来构建项目

使用 Scala 主目录的路径定义 scalaHome 设置将使用该 Scala 安装。当使用本地 Scala 版本时,sbt 仍然需要设置 scalaVersion。例如,

scalaVersion := "2.10.0-local"
scalaHome := Some(file("/path/to/scala/home/"))

【讨论】:

  • 啊,谢谢 Yuriy 将我指向那个直接的 v0.13.5 URL。我在 v0.13.9 下找不到相同的。
  • 不客气。顺便页面也有最新的SBT scala-sbt.org/0.13/docs/Howto-Scala.html
  • 太棒了(已添加书签)。我明白了我的问题是什么(或曾经是;事情的组合)。我正在读一本书(我是 Scala 的新手),但没有意识到作者是从他的 git 克隆目录(对于这本书)中发出“sbt test”命令。所以我什至没有“build.sbt”。 =:) 然后,看着你们的集体回复,我意识到我错过了一些东西,这让我恍然大悟。再次感谢。
【解决方案2】:

请您发布您的 build.sbt。

您应该能够通过将以下内容添加到 build.sbt 文件来声明 Scala

scalaVersion := "2.11.7"

【讨论】:

    猜你喜欢
    • 2021-11-12
    • 2016-10-31
    • 2011-06-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-03-22
    • 2018-02-03
    • 2018-09-05
    相关资源
    最近更新 更多