首页 > 解决方案 > 错误:未找到:值 jsDependencies 值 / 不是 sbt.librarymanagement.ModuleID 的成员

问题描述

我正在将 sbt-scalajs 版本从 0.6.x 升级到 1.0.0。

这是我的旧plugins.sbt配置

addSbtPlugin("org.scala-js" % "sbt-scalajs" % "0.6.33")
addSbtPlugin("org.portable-scala" % "sbt-scalajs-crossproject" % "0.6.0")

我的新 plugins.sbt 是

addSbtPlugin("org.scala-js" % "sbt-scalajs" % "1.0.0")
addSbtPlugin("org.portable-scala" % "sbt-scalajs-crossproject" % "1.0.0")

下面是我的旧 build.sbt


 import sbtcrossproject.CrossPlugin.autoImport.{crossProject, CrossType}
 
name := "sjs-test-error"

version := "0.1"

scalaVersion := "2.12.10"

val commonSettings = Seq(
  scalaVersion := "2.12.10",
  crossScalaVersions := Seq("2.12.10"),
  scalacOptions ++= Seq("-feature", "-deprecation", "-Xlint",  "-Ypartial-unification"),
  Compile / compile / scalacOptions  += "-Ywarn-unused-import",
  Compile / doc / scalacOptions += "-no-link-warnings"
)

val core = crossProject(JSPlatform, JVMPlatform)
  .in(file("core"))
  .settings(commonSettings)
  .settings(
    name := "sjs-test-error",
  )
  .jsSettings(
    libraryDependencies ++= Seq(
      "org.scala-js" %%% "scalajs-dom" % "0.9.1"
    ),
    jsDependencies ++= Seq(
      "org.webjars.npm" % "viz.js" % "1.7.0" / "1.7.0/viz.js"
    )
  )

lazy val coreJVM = core.jvm
lazy val coreJS = core.js

lazy val root = project.in(file("."))
  .aggregate(coreJVM, coreJS)
  .settings(commonSettings)
 

除了注释之外,我的新 build.sbt 是相同的import sbtcrossproject.CrossPlugin.autoImport.{crossProject, CrossType}

当我运行时,sbt clean compile我得到以下错误 -

/Users/rajkumar.natarajan/Documents/Coding/OS/reftree/build.sbt:28:错误:未找到:值 jsDependencies

jsDependencies ++= Seq( ^

/Users/rajkumar.natarajan/Documents/Coding/OS/reftree/build.sbt:31:错误:值/不是 sbt.librarymanagement.ModuleID 的成员

 "org.webjars.npm" % "viz.js" % "1.7.0" / "1.7.0/viz.js"

这在 0.6.x sbt-scalajs 插件中运行良好。我不知道如何为 1.0.0 版本编写相同的内容

知道如何解决这个问题吗?

标签: scalasbtscala.jssbt-plugin

解决方案


正如Scala.js 1.0.0 的发行说明中所述

如果您使用jsDependencies(或依赖于jsDependencies您的传递依赖项):

  • 加入addSbtPlugin("org.scala-js" % "sbt-jsdependencies" % "1.0.0")_project/plugins.sbt
  • 添加.enablePlugins(JSDependenciesPlugin)到 Scala.js 项目
  • 添加.jsConfigure(_.enablePlugins(JSDependenciesPlugin))crossProjects

推荐阅读