Why does sbt report that valuePlugins is not a member of sbt.Project in a Play project?

I just got the following error while trying to compile any applications to 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) 

I saw some talk about this error elsewhere, but unlike these examples, I have no additional plugins or project dependencies. I get this error when compiling an untouched play-scala template after selecting it with activator new .

Here are the plugins that are included in the template in 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") 

The last time I created the Play application was about a month ago, and I had no problems, in the meantime I built vanilla Scala without problems - only applications (often with Activator). Could this be related to Play-2.3?

I have the line sbt.version=0.13.5 in project/build.properties and I made sure my version of sbt is the latest.

My code exactly matches the play-scala pattern, but in case this simplifies the situation, here is the contents of 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 ) 

Thanks in advance for your help.

EDIT:

By doing sbt about from the root directory of the application, I get this error, which I will include fully:

 $ 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, (q)uit, (l)ast, or (i)gnore? 

Executing it from outside the application directory, I get:

 $ 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 
+7
source share
2 answers

After the comments, especially. the last of the OPs , I believe that the reason may be a plugin that was installed under ~/.sbt/0.13/plugins , which messed up with the latest additions to sbt.Project . Therefore, I suggested renaming the special directories ~/.sbt/0.13 and ~/.sbt/0.13/plugins .

From Global plugins in sbt official documentation:

The directory ~/.sbt/0.13/plugins/ considered as a global plugin. This is a regular sbt project, the class path of which is available for all sbt project definitions for this user, as described above for plugins for each project.

There was at least one confirmed case when this happened in the past with the plugin that did this - sbt broke with the plugin turned on, and without it it worked fine. See print not accepted in task definition in SBT 0.13? . I think I saw another, but now I can not find it here as another link.

+3
source share

For me, it was another plugin that ruined the permission of the plugin. Deleted, now it works fine.

0
source share

All Articles