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,

查看:45
本文介绍了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屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆