"RuntimeException: Problems with NPM resolution" 当 运行 在 Windows 播放应用程序时 7

"RuntimeException: Problems with NPM resolution" when running Play application in Windows 7

在我的 Play Framework 应用程序目录中键入命令 sbt clean compilesbt clean run 时出现以下错误。项目 运行 在 Ubuntu 环境中运行良好。但是,在 Windows 7 环境中似乎 运行 没有。我曾尝试在线搜索但没有得到任何帮助。我在 https://github.com/sbt/sbt-less/issues/68 尝试了解决方案,我删除了 project/target & project/project 但这并不能解决问题。请帮忙

意外异常

RuntimeException: Problems with NPM resolution. Aborting build. No source available

这里是异常堆栈跟踪:

java.lang.RuntimeException: Problems with NPM resolution. Aborting build.
     scala.sys.package$.error(package.scala:27)
     com.typesafe.sbt.jse.SbtJsEngine$$anonfun$$anonfun.apply(SbtJsEngine.scala:114)
     com.typesafe.sbt.jse.SbtJsEngine$$anonfun$$anonfun.apply(SbtJsEngine.scala:91)
     sbt.FileFunction$$anonfun$cached.apply(Tracked.scala:253)
     sbt.FileFunction$$anonfun$cached.apply(Tracked.scala:253)
     sbt.FileFunction$$anonfun$cached$$anonfun$apply$$anonfun$apply.apply(Tracked.scala:267)
     sbt.FileFunction$$anonfun$cached$$anonfun$apply$$anonfun$apply.apply(Tracked.scala:263)
     sbt.Difference.apply(Tracked.scala:224)
     sbt.Difference.apply(Tracked.scala:206)
     sbt.FileFunction$$anonfun$cached$$anonfun$apply.apply(Tracked.scala:263)
     sbt.FileFunction$$anonfun$cached$$anonfun$apply.apply(Tracked.scala:262)
     sbt.Difference.apply(Tracked.scala:224)
     sbt.Difference.apply(Tracked.scala:200)
     sbt.FileFunction$$anonfun$cached.apply(Tracked.scala:262)
     sbt.FileFunction$$anonfun$cached.apply(Tracked.scala:260)
     com.typesafe.sbt.jse.SbtJsEngine$$anonfun.apply(SbtJsEngine.scala:122)
     com.typesafe.sbt.jse.SbtJsEngine$$anonfun.apply(SbtJsEngine.scala:86)
     scala.Function1$$anonfun$compose.apply(Function1.scala:47)
     sbt.$tilde$greater$$anonfun$$u2219.apply(TypeFunctions.scala:40)
     sbt.std.Transform$$anon.work(System.scala:63)
     sbt.Execute$$anonfun$submit$$anonfun$apply.apply(Execute.scala:228)
     sbt.Execute$$anonfun$submit$$anonfun$apply.apply(Execute.scala:228)
     sbt.ErrorHandling$.wideConvert(ErrorHandling.scala:17)
     sbt.Execute.work(Execute.scala:237)
     sbt.Execute$$anonfun$submit.apply(Execute.scala:228)
     sbt.Execute$$anonfun$submit.apply(Execute.scala:228)
     sbt.ConcurrentRestrictions$$anon$$anonfun.apply(ConcurrentRestrictions.scala:159)
     sbt.CompletionService$$anon.call(CompletionService.scala:28)
     java.util.concurrent.FutureTask.run(FutureTask.java:266)
     java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
     java.util.concurrent.FutureTask.run(FutureTask.java:266)
     java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
     java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
     java.lang.Thread.run(Thread.java:748)

JsEngine npmNodeModules 步骤造成了问题。 Google groups post 提供了以下解决方案以在构建期间禁用此步骤: 如下所示将 build.sbt 中的 JsEngineKeys 设置为 Nil 解决了问题:

lazy val root = (project in file("."))
  .enablePlugins(PlayScala, BuildInfoPlugin)
  .settings(
    // Disable NPM node modules
    JsEngineKeys.npmNodeModules in Assets := Nil,
    JsEngineKeys.npmNodeModules in TestAssets := Nil
  )