升级到 Scala 2.13 出现 scalaoptions 错误

Upgrading to Scala 2.13 giving scalaoptions error

我刚刚升级到 Scala 最新版本 2.13.2,现在我解决了所有依赖项。 在 IntelliJ sbt 刷新内部工作正常,但是当我构建项目时出现此错误:

Error: scalac: 'by-name-right-associative' is not a valid choice for '-Xlint'
Error: scalac: 'nullary-override' is not a valid choice for '-Xlint'
Error: scalar: 'unsound-match' is not a valid choice for '-Xlint'
Error: scala: bad option: '-Yno-adapted-args'

不是,不知道该怎么办,我试着到处检查,但我无法解决它。 有人可以帮忙吗

您的 build.sbt(或其中导入的某些插件)正在为 scalac 设置这些选项。你可以在那里找到类似的东西:

scalacOptions ++= Seq(
  ...
  "-Xlint:by-name-right-associative",
  ...
  "-Xlint:nullary-override",
  ...
  "-Xlint:unsound-match",
  ...
  "-Yno-adapted-args",
 ...
)

它添加了对 Scala 2.13 无效的选项。一旦你删除它们,事情应该没问题。

要找到它们,您可以使用 inspect scalacOptions 列出修改此设置的所有位置,然后查看那里以删除它们。如果这是在某些您无法编辑的插件中,您可以随时“手动”删除它们:

scalacOptions --= Seq(
  "-Xlint:by-name-right-associative",
  "-Xlint:nullary-override",
  "-Xlint:unsound-match",
  "-Yno-adapted-args"
)