sbt:没有隐含的 Append.Value[Seq[java.io.File], sbt.Def.Initialize[java.io.File]] 发现, [英] sbt: No implicit for Append.Value[Seq[java.io.File], sbt.Def.Initialize[java.io.File]] found,
本文介绍了sbt:没有隐含的 Append.Value[Seq[java.io.File], sbt.Def.Initialize[java.io.File]] 发现,的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我将 sbt 从 sbt-0.13.16
升级到 sbt-1.2.8
我的以下代码正在破坏
I upgraded the sbt from sbt-0.13.16
to sbt-1.2.8
my following code is breaking
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?
我该如何解决这个问题
推荐答案
您需要使用 .value
来提取设置的值:
You need to use .value
to extract the value of a setting:
unmanagedResourceDirectories in Assets += baseDirectory.value / "public" / "node_modules"
如果你想为别的东西定义 gruntDirectory
,你可以这样做:
If you want to define gruntDirectory
for something else, you can do it like this:
lazy val gruntDirectory = Def.setting { baseDirectory.value / "public" }
unmanagedResourceDirectories in Assets += gruntDirectory.value / "node_modules"
请注意,您只能在 :=
/+=
/++=<的右侧使用
.value
/code>/~=
赋值或在Def.{setting, task, taskDyn, inputTask, inputTaskDyn}
.
Notice that you can use .value
only on the right side of :=
/+=
/++=
/~=
assignments or inside Def.{setting, task, taskDyn, inputTask, inputTaskDyn}
.
这篇关于sbt:没有隐含的 Append.Value[Seq[java.io.File], sbt.Def.Initialize[java.io.File]] 发现,的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文