scala – 为什么sbt在Play项目中报告“value enablePlugins不是s
我在尝试编译任何Play应用程序时遇到以下错误:
error: value enablePlugins is not a member of sbt.Project lazy val root = (project in file(".")).enablePlugins(PlayScala) ^ sbt.compiler.EvalException: Type error in expression at sbt.compiler.Eval.checkError(Eval.scala:343) at sbt.compiler.Eval.compileAndLoad(Eval.scala:165) at sbt.compiler.Eval.evalCommon(Eval.scala:135) at sbt.compiler.Eval.evalDefinitions(Eval.scala:109) ... ... sbt.compiler.EvalException: Type error in expression Use 'last' for the full log. Project loading failed: (r)etry,(q)uit,(l)ast,or (i)gnore? Failed to reload source file list: sbt process never got in touch,so unable to handle request WatchTransitiveSourcesRequest(true) 我在其他地方看到过一些关于这个错误的讨论,但不像那些例子中我没有任何额外的插件或项目依赖 – 我在使用activator new选择它时编译未触摸的play-scala模板时出现此错误. 以下是project / plugins.sbt中模板中包含的插件: resolvers += "Typesafe repository" at "http://repo.typesafe.com/typesafe/releases/" // The Play plugin addSbtPlugin("com.typesafe.play" % "sbt-plugin" % "2.3.3") // web plugins addSbtPlugin("com.typesafe.sbt" % "sbt-coffeescript" % "1.0.0") addSbtPlugin("com.typesafe.sbt" % "sbt-less" % "1.0.0") addSbtPlugin("com.typesafe.sbt" % "sbt-jshint" % "1.0.1") addSbtPlugin("com.typesafe.sbt" % "sbt-rjs" % "1.0.1") addSbtPlugin("com.typesafe.sbt" % "sbt-digest" % "1.0.0") addSbtPlugin("com.typesafe.sbt" % "sbt-mocha" % "1.0.0") 我上一次构建Play应用程序的时间大约是一个月前我没有问题,与此同时我一直在编译vanilla scilla-only应用程序(通常使用Activator),没有任何问题.这可能与Play-2.3有关吗? 我在project / build.properties中有一行sbt.version = 0.13.5,我确保我的sbt版本是最新版本. 我的代码正是play-scala模板的代码,但如果它使事情变得更容易,这里是build.sbt的内容: name := """my-first-app""" version := "1.0-SNAPSHOT" lazy val root = (project in file(".")).enablePlugins(PlayScala) scalaVersion := "2.11.1" libraryDependencies ++= Seq( jdbc,anorm,cache,ws ) 在此先感谢您的帮助. 编辑: 从app根目录做sbt我得到这个错误,我将完整包含: $sbt about [info] Loading global plugins from /home/.sbt/0.13/plugins [info] Loading project definition from /home/my-first-app/project /home/my-first-app/build.sbt:5: error: value enablePlugins is not a member of sbt.Project lazy val root = (project in file(".")).enablePlugins(PlayScala) ^ sbt.compiler.EvalException: Type error in expression at sbt.compiler.Eval.checkError(Eval.scala:343) at sbt.compiler.Eval.compileAndLoad(Eval.scala:165) at sbt.compiler.Eval.evalCommon(Eval.scala:135) at sbt.compiler.Eval.evalDefinitions(Eval.scala:109) at sbt.EvaluateConfigurations$.evaluateDefinitions(EvaluateConfigurations.scala:197) at sbt.EvaluateConfigurations$.evaluateSbtFile(EvaluateConfigurations.scala:99) at sbt.Load$.sbt$Load$$loadSettingsFile$1(Load.scala:507) at sbt.Load$$anonfun$sbt$Load$$memoLoadSettingsFile$1$1.apply(Load.scala:502) at sbt.Load$$anonfun$sbt$Load$$memoLoadSettingsFile$1$1.apply(Load.scala:501) at scala.Option.getOrElse(Option.scala:120) at sbt.Load$.sbt$Load$$memoLoadSettingsFile$1(Load.scala:501) at sbt.Load$$anonfun$loadSettings$1$2.apply(Load.scala:500) at sbt.Load$$anonfun$loadSettings$1$2.apply(Load.scala:500) at scala.collection.TraversableLike$$anonfun$map$1.apply(TraversableLike.scala:244) at scala.collection.TraversableLike$$anonfun$map$1.apply(TraversableLike.scala:244) at scala.collection.mutable.ResizableArray$class.foreach(ResizableArray.scala:59) at scala.collection.mutable.ArrayBuffer.foreach(ArrayBuffer.scala:47) at scala.collection.TraversableLike$class.map(TraversableLike.scala:244) at scala.collection.AbstractTraversable.map(Traversable.scala:105) at sbt.Load$.loadSettings$1(Load.scala:500) at sbt.Load$.sbt$Load$$expand$1(Load.scala:523) at sbt.Load$.loadSettings(Load.scala:528) at sbt.Load$.sbt$Load$$loadSbtFiles$1(Load.scala:464) at sbt.Load$.defaultLoad$1(Load.scala:475) at sbt.Load$.loadTransitive(Load.scala:478) at sbt.Load$.loadProjects$1(Load.scala:418) at sbt.Load$.loadUnit(Load.scala:419) at sbt.Load$$anonfun$15$$anonfun$apply$11.apply(Load.scala:256) at sbt.Load$$anonfun$15$$anonfun$apply$11.apply(Load.scala:256) at sbt.BuildLoader$$anonfun$componentLoader$1$$anonfun$apply$4$$anonfun$apply$5$$anonfun$apply$6.apply(BuildLoader.scala:93) at sbt.BuildLoader$$anonfun$componentLoader$1$$anonfun$apply$4$$anonfun$apply$5$$anonfun$apply$6.apply(BuildLoader.scala:92) at sbt.BuildLoader.apply(BuildLoader.scala:143) at sbt.Load$.loadAll(Load.scala:312) at sbt.Load$.loadURI(Load.scala:264) at sbt.Load$.load(Load.scala:260) at sbt.Load$.load(Load.scala:251) at sbt.Load$.apply(Load.scala:134) at sbt.Load$.defaultLoad(Load.scala:37) at sbt.BuiltinCommands$.doLoadProject(Main.scala:473) at sbt.BuiltinCommands$$anonfun$loadProjectImpl$2.apply(Main.scala:467) at sbt.BuiltinCommands$$anonfun$loadProjectImpl$2.apply(Main.scala:467) at sbt.Command$$anonfun$applyEffect$1$$anonfun$apply$2.apply(Command.scala:60) at sbt.Command$$anonfun$applyEffect$1$$anonfun$apply$2.apply(Command.scala:60) at sbt.Command$$anonfun$applyEffect$2$$anonfun$apply$3.apply(Command.scala:62) at sbt.Command$$anonfun$applyEffect$2$$anonfun$apply$3.apply(Command.scala:62) at sbt.Command$.process(Command.scala:95) at sbt.MainLoop$$anonfun$1$$anonfun$apply$1.apply(MainLoop.scala:100) at sbt.MainLoop$$anonfun$1$$anonfun$apply$1.apply(MainLoop.scala:100) at sbt.State$$anon$1.process(State.scala:179) at sbt.MainLoop$$anonfun$1.apply(MainLoop.scala:100) at sbt.MainLoop$$anonfun$1.apply(MainLoop.scala:100) at sbt.ErrorHandling$.wideConvert(ErrorHandling.scala:18) at sbt.MainLoop$.next(MainLoop.scala:100) at sbt.MainLoop$.run(MainLoop.scala:93) at sbt.MainLoop$$anonfun$runWithNewLog$1.apply(MainLoop.scala:71) at sbt.MainLoop$$anonfun$runWithNewLog$1.apply(MainLoop.scala:66) at sbt.Using.apply(Using.scala:25) at sbt.MainLoop$.runWithNewLog(MainLoop.scala:66) at sbt.MainLoop$.runAndClearLast(MainLoop.scala:49) at sbt.MainLoop$.runLoggedLoop(MainLoop.scala:33) at sbt.MainLoop$.runLogged(MainLoop.scala:25) at sbt.StandardMain$.runManaged(Main.scala:57) at sbt.xMain.run(Main.scala:29) at xsbt.boot.Launch$$anonfun$run$1.apply(Launch.scala:109) at xsbt.boot.Launch$.withContextLoader(Launch.scala:129) at xsbt.boot.Launch$.run(Launch.scala:109) at xsbt.boot.Launch$$anonfun$apply$1.apply(Launch.scala:36) at xsbt.boot.Launch$.launch(Launch.scala:117) at xsbt.boot.Launch$.apply(Launch.scala:19) at xsbt.boot.Boot$.runImpl(Boot.scala:44) at xsbt.boot.Boot$.main(Boot.scala:20) at xsbt.boot.Boot.main(Boot.scala) [error] sbt.compiler.EvalException: Type error in expression [error] Use 'last' for the full log. Project loading failed: (r)etry,or (i)gnore? 从app目录外面做到我得到: $sbt about [info] Loading global plugins from /home/.sbt/0.13/plugins [info] Set current project to / (in build file:/home/) [info] This is sbt 0.13.5 [info] The current project is {file:/home/} 0.1-SNAPSHOT [info] The current project is built against Scala 2.10.4 [info] Available Plugins: sbt.plugins.IvyPlugin,sbt.plugins.JvmPlugin,sbt.plugins.CorePlugin,sbt.plugins.JUnitXmlReportPlugin,EnsimePlugin,com.typesafe.sbt.SbtScalariform [info] sbt,sbt plugins,and build definitions are using Scala 2.10.4 解决方法
评论之后,尤其是
the last one by the OP,我相信原因可能是安装在?/ .sbt / 0.13 / plugins下的插件,这个插件搞砸了sbt.Project的最新版本.这就是我建议重命名特殊目录?/ .sbt / 0.13和?/ .sbt / 0.13 / plugins的原因.
从Global plugins开始,在sbt的官方文档中:
至少有一个确认的案例,它发生在过去,有一个插件,这样做 – sbt打破了插件启用,它没有它工作正常.见print not accepted in task definition in SBT 0.13?.我想我见过另一个,但现在找不到它作为另一个参考. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |