我最近更新了packages.json
和bower.json
中的依赖项,并遇到了类似的错误,我通过在我的 EmberApp 中提供对 vendorFiles 选项的覆盖来解决:
## ember-cli-build.js
...
module.exports = function(defaults) {
var app = new EmberApp(defaults, {
vendorFiles: {
'ember-resolver.js': [
'bower_components/ember-resolver/index.js' , { //similar error to below was solved like this
exports: {
'ember/resolver': ['default']
}
}
],
...
}
});
...
我尝试了一个类似的解决方案,我将这段代码放在 vendorFiles 属性中,但没有好运:(:
#ember-cli-build.js
module.exports = function(defaults) {
var app = new EmberApp(defaults, {
vendorFiles: {
'ember-resolver.js': <...>,
// /////////
'ember-cli-test-loader': [
'bower_components/ember-cli-test-loader/index.js', {
exports: {
'ember/test-loader': ['default']
}
}
]
// /////////
}
});
完整输出如下:
ENOENT: no such file or directory, lstat '<...>/my-app/tmp/funnel-input_base_path-qUHHutHN.tmp/0/bower_components/ember-cli-test-loader/test-loader.js'
Error: ENOENT: no such file or directory, lstat '<...>/my-app/tmp/funnel-input_base_path-qUHHutHN.tmp/0/bower_components/ember-cli-test-loader/test-loader.js'
at Error (native)
at Object.fs.lstatSync (fs.js:839:18)
at symlink (<...>/my-app/node_modules/ember-cli/node_modules/symlink-or-copy/index.js:63:26)
at Function.symlinkOrCopySync [as sync] (<...>/my-app/node_modules/ember-cli/node_modules/symlink-or-copy/index.js:58:5)
at Funnel._copy (<...>/my-app/node_modules/ember-cli/node_modules/broccoli-funnel/index.js:398:19)
at Funnel.processFile (<...>/my-app/node_modules/ember-cli/node_modules/broccoli-funnel/index.js:381:8)
at Funnel.applyPatch [as _applyPatch] (<...>/my-app/node_modules/ember-cli/node_modules/broccoli-funnel/index.js:298:12)
at Funnel.<anonymous> (<...>/my-app/node_modules/ember-cli/node_modules/broccoli-funnel/index.js:250:10)
at Array.forEach (native)
at Funnel.processFilters (<...>/my-app/node_modules/ember-cli/node_modules/broccoli-funnel/index.js:249:9)
我不确定从输出中我会在哪里发现发生了什么。我是broccoli
的新手(来自grunt
和gulp
),也是ember-cli
的新手
如果您查看版本,您会注意到最新版本设置为0.2.2
如果您使用0.2.2
(而不是1.0.0
),它可以正常工作。
我提交了关于此的问题。
我已经回答了我自己的问题:
我拥有的测试加载程序版本是 1.0.0
.当我查看实际文件时,index.js
非常裸露。我不知道为什么这个库的所有者将其标记为 1.0.0,因为它没有多大作用......(好吧,我想从技术上讲,这是一个"重大变化")
无论如何,我将我的版本恢复为0.1.3
,现在似乎可以工作。此外,我不得不摆脱供应商文件选项中的测试加载程序部分,因为我不再需要它。
感谢您考虑我的问题!
在项目文件夹中运行命令:
D:Latesteswaridevelop-16.2.1jefferson>bower install --save ember-cli-test-loader#0.1.3
package.json 或 bower.json 文件不再明确要求 ember-cli-test-loader
包。 您今天看到错误的可能原因是项目中的依赖项过时。