首页 > 解决方案 > sbt:未找到 Append.Value[Seq[java.io.File], sbt.Def.Initialize[java.io.File]] 的隐式,

问题描述

我将 sbt 从升级sbt-0.13.16sbt-1.2.8我的以下代码正在破坏

lazy val gruntDirectory = baseDirectory {
    _ / "public"
}

unmanagedResourceDirectories in Assets += gruntDirectory { _ / "node_modules"}

这是我得到的错误

/build.sbt:131: error: No implicit for Append.Value[Seq[java.io.File], sbt.Def.Initialize[java.io.File]] found,
  so sbt.Def.Initialize[java.io.File] cannot be appended to Seq[java.io.File]
unmanagedResourceDirectories in Assets += gruntDirectory { _ / "node_modules"}
                                       ^
[error] Type error in expression
Project loading failed: (r)etry, (q)uit, (l)ast, or (i)gnore? 

我该如何解决这个问题

标签: scalasbt

解决方案


您需要使用.value来提取设置的值:

unmanagedResourceDirectories in Assets += baseDirectory.value / "public" / "node_modules"

如果你想定义gruntDirectory别的东西,你可以这样做:

lazy val gruntDirectory = Def.setting { baseDirectory.value / "public" }

unmanagedResourceDirectories in Assets += gruntDirectory.value / "node_modules"

请注意,您只能在/// assignments.value的右侧或内部使用。:=+=++=~=Def.{setting, task, taskDyn, inputTask, inputTaskDyn}


推荐阅读