如何在 Brocfile.js 中传递参数 {overwrite: true}

How to pass param {overwrite: true} in Brocfile.js

信息:

ember-cli: 0.2.5,
ember-cli-less: 1.3.3,

我有下一个错误:

Merge error: file assets/mobile.css.map exists in mobile/tmp/caching-writer-dest-dir_ZcaW3C.tmp and /mobile/tmp/caching-writer-dest-dir_E4iROO.tmp
Pass option { overwrite: true } to mergeTrees in order to have the latter file win.

我尝试了 this post and this other 中所说的内容。但是我还是没有结果。

感谢您的宝贵时间

因为 none 之前链接中提到的方法有效。我选择修改ember-cli-less包:

node_modules/ember-cli-less/node_modules/broccoli-merge-trees/index.js

我改了行:

function TreeMerger (inputTrees, options) {
  if (!(this instanceof TreeMerger)) return new TreeMerger(inputTrees, options)
  if (!Array.isArray(inputTrees)) {
    throw new Error('Expected array, got ' + inputTrees)
  }
  this.inputTrees = inputTrees
  this.options = { overwrite: true } // <- This line
}

mergeTrees 模块有一个选项 overwrite

记录在此处:https://github.com/broccolijs/broccoli-merge-trees#options

这是一个例子:

return new MergeTrees([app.toTree(), fonts], { overwrite: true });

更新 ember-cli-less 到最新版本(现在是 1.5.3),然后像这样传递配置。

'ember-cli-less': {
  mergeTrees: {
    overwrite: true
  }
}

事情会成功的

如果您使用的是mac,可以试试find . -name '.DS_Store' -type f -delete吗?

我有类似的问题,我可以通过删除重复文件来解决。

错误信息

Build failed.
Merge error: file .DS_Store exists in /Users/ember-proj/tmp/broccoli_merge_trees-input_base_path-qaWJUMIJ.tmp/0 and /Users/ember-proj/ai/tmp/broccoli_merge_trees-input_base_path-qaWJUMIJ.tmp/1
Pass option { overwrite: true } to mergeTrees in order to have the latter file win.