【问题标题】:ScalaJS plugin 0.6.23: "value %%% is not a member of String"ScalaJS 插件 0.6.23:“值 %%% 不是字符串的成员”
【发布时间】:2018-11-19 06:55:58
【问题描述】:

0.6.21 迁移到 ScalaJS 0.6.23 后:

(addSbtPlugin("org.scala-js" % "sbt-scalajs" % "0.6.23"))

我的sbt-build 抛出以下异常:

...
[error] /Users/mpa/dev/Github/pme123/scala-adapters/project/Settings.scala:88:20: value %%% is not a member of String
[error]     "org.scala-js" %%% "scalajs-dom" % "0.9.6"
[error]                    ^
[error] /Users/mpa/dev/Github/pme123/scala-adapters/project/Settings.scala:90:27: value %%% is not a member of String
[error]     , "com.typesafe.play" %%% "play-json" % "2.6.1"
...

这是来自Settings.scala的值:

  lazy val clientDependencies: Seq[Def.Setting[_]] = Def.settings(libraryDependencies ++= Seq(
    "org.scala-js" %%% "scalajs-dom" % "0.9.6"
    , "org.scala-lang.modules" %% "scala-xml" % "1.0.6"
    , ...
  ))

这就是它在build.sbt中的使用方式:

lazy val client = (project in file("client"))
  .settings(sharedSettings(Some("client")))
  .settings(clientSettings)
  .settings(clientDependencies)
  .settings(jsSettings)
  .enablePlugins(ScalaJSWeb)
  .dependsOn(sharedJs)

这是项目:https://github.com/pme123/scala-adapters

【问题讨论】:

    标签: sbt scala.js


    【解决方案1】:

    release notes of Scala.js 0.6.23 这么说

    在 sbt 构建(在 project/ 下)的 .scala 文件中使用 %%% 需要新的导入:

    import org.portablescala.sbtplatformdeps.PlatformDepsPlugin.autoImport._
    

    对于.sbt 文件,此导入是自动添加的,因此没有任何变化。

    所以你需要添加

    import org.portablescala.sbtplatformdeps.PlatformDepsPlugin.autoImport._
    

    在您的 Settings.scala 文件中。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多