如何使用未发布版本的Scala标准库构建sbt?

如何使用未发布版本的Scala标准库构建sbt?,scala,sbt,Scala,Sbt,我想使用Scala 2.13.xx的标准库来使用最新的未发布版本的并发库。 我尝试过使用它: scalaVersion:=“2.13.0-M1” 这导致: [错误]sbt.librarymanagement.ResolveException:未解析的依赖项:com.twitter#util-collection_2.13.0-M1;18.9.1:未找到 [错误]未解析的依赖项:org.scala stm#scala-stm_2.13.0-M1;0.8:未找到 [错误]未解析的依赖项:org.s

我想使用Scala 2.13.xx的标准库来使用最新的未发布版本的并发库。 我尝试过使用它:

scalaVersion:=“2.13.0-M1”

这导致:

[错误]sbt.librarymanagement.ResolveException:未解析的依赖项:com.twitter#util-collection_2.13.0-M1;18.9.1:未找到
[错误]未解析的依赖项:org.scala stm#scala-stm_2.13.0-M1;0.8:未找到
[错误]未解析的依赖项:org.scalatic#scalatic_2.13.0-M1;3.0.5:未找到
[错误]未解析的依赖项:org.scalatest#scalatest_2.13.0-M1;3.0.5:未找到
[错误]未解析的依赖项:com.storm途中#scalameter_2.13.0-M1;0.8.2:未找到


是否有任何方法可以将最新未发布版本的Scala标准库与sbt一起使用,或者由于不是使用Scala 2.13.xx构建的依赖关系而无法使用?

设置
scalaVersion
将同时使用编译器和该版本的标准库

但任何依赖项都需要使用二进制兼容的Scala版本构建。对于里程碑,这只是同一个里程碑。如果查看etc,除了ScalaMeter和util collection之外,其他所有版本都有针对2.13.0-M2发布的版本

对于缺少的依赖项,您可以获取源,更改它们的
scalaVersion
并使用
sbt publishLocal
(如果其中任何一个使用的是sbt以外的生成系统,则使用等效的方法)。希望他们能够在不改变源代码的情况下构建和工作

从技术上讲,您还可以通过使用更改标准库版本

autoScalaLibrary := false
libraryDependencies += "org.scala-lang" % "scala-library" % "2.13.0-M1" % "test"

但是这不太可能很好地工作(如果有的话)。

设置
scalaVersion
将同时使用该版本的编译器和标准库

但任何依赖项都需要使用二进制兼容的Scala版本构建。对于里程碑,这只是同一个里程碑。如果查看etc,除了ScalaMeter和util collection之外,其他所有版本都有针对2.13.0-M2发布的版本

对于缺少的依赖项,您可以获取源,更改它们的
scalaVersion
并使用
sbt publishLocal
(如果其中任何一个使用的是sbt以外的生成系统,则使用等效的方法)。希望他们能够在不改变源代码的情况下构建和工作

从技术上讲,您还可以通过使用更改标准库版本

autoScalaLibrary := false
libraryDependencies += "org.scala-lang" % "scala-library" % "2.13.0-M1" % "test"

但这不太可能奏效(如果有的话)。

请注意,当前的Scala 2.13里程碑是2.13.0-M5。要查看哪些库可用于M5,请参阅。它包括一个指向twitter/util票证的链接,该票证显示他们还没有发布M5版本,scala-stm也没有发布。您希望使用2.13里程碑的目标是什么?在不知道您的实际动机的情况下,很难给出具体的建议。我想使用最新的futures and promises library,thx,我将使用最新的里程碑。请注意,当前的Scala 2.13里程碑是2.13.0-M5。要查看哪些库可用于M5,请参阅。它包括一个指向twitter/util票证的链接,该票证显示他们还没有发布M5版本,scala-stm也没有发布。您希望使用2.13里程碑的目标是什么?在不知道你的实际动机的情况下,很难给出具体的建议。我想使用最新的期货和承诺库,thx,我将使用最新的里程碑。