Scala Meta:对版本感到困惑

Scala Meta: Confused about the versions

tutorial 中,您找到了 Scala-Meta 的 2 个版本。

lazy val MetaVersion = "3.7.2"
lazy val MetaVersion1 = "1.8.0"

我有点困惑,因为他们似乎指的是同一个项目:

lazy val scalameta1 = "org.scalameta" %% "scalameta" % MetaVersion1
lazy val scalameta = "org.scalameta" %% "scalameta" % MetaVersion

有人能指出其中的区别吗?您什么时候使用其中的哪一个?

Tutorial只提到了"3.7.2",但是我得到了例外

ERROR: new-style ("inline") macros require scala.meta

此处解释:new-style-inline-macros-require-scala-meta

3.7.2 是 scalameta 的当前版本(实际上已经是 3.7.4)。

1.8.0 是 scalameta 的最后一个版本,它通过 scalameta 天堂编译器插件 (1 2 3) 使用 scalameta 宏注释。

因此,如果您需要最新版本的 scalameta,请使用 3.7.4。如果您需要 scalameta 宏,请使用 1.8.0。