在构建/服务我正在工作的插件时出现问题后,我做了通常的步骤来修复(删除node_modules,npm clean,npm install,...)但没有成功。
最后,我正处于我通过ember addon jeff-table
新创建一个新插件的阶段,将“旧的”无法工作的仓库移植到那里....
插件创建成功:
安装插件
创建.bowerrc
....
创建.npmignore
成功初始化git。
通过npm安装工具包。
通过Bower安装的浏览器包。
无论如何,在尝试构建未触及的插件时,我再次遇到相同的错误:
无法读取未定义的属性'0' TypeError:无法读取未定义的属性“0” 在EmberAddon.EmberApp._initVendorFiles(C:\ users \ jefff \ google drive \ www \ ember-addons \ jeff-table \ node_modules \ ember-cli \ lib \ broccoli \ ember-app.js:317:55)> 在EmberAddon.EmberApp [作为appConstructor](C:\ users \ jefff \ google drive \ www \ ember-addons \ jeff-table \ node_modules \ ember-cli \ lib \ broccoli \ ember-app.js:94:8)<登记/> 在新的EmberAddon(C:\ users \ jefff \ google drive \ www \ ember-addons \ jeff-table \ node_modules \ ember-cli \ lib \ broccoli \ ember-addon.js:38:8)
在module.exports(C:\ users \ jefff \ google drive \ www \ ember-addons \ jeff-table \ ember-cli-build.js:6:13)
在Class.module.exports.Task.extend.setupBroccoliBuilder(C:\ users \ jefff \ google drive \ www \ ember-addons \ jeff-table \ node_modules \ ember-cli \ lib \ models \ builder.js:55: 19)
在Class.module.exports.Task.extend.init(C:\ users \ jefff \ google drive \ www \ ember-addons \ jeff-table \ node_modules \ ember-cli \ lib \ models \ builder.js:89:10 )
在新类(C:\ users \ jefff \ google drive \ www \ ember-addons \ jeff-table \ node_modules \ ember-cli \ node_modules \ core-object \ core-object.js:18:12) 在Class.module.exports.Task.extend.run(C:\ users \ jefff \ google drive \ www \ ember-addons \ jeff-table \ node_modules \ ember-cli \ lib \ tasks \ serve.js:15:19 )
在C:\ users \ jefff \ google drive \ www \ ember-addons \ jeff-table \ node_modules \ ember-cli \ lib \ commands \ serve.js:64:24
我怀疑GDrive搞砸了我的node_modules或smth,但是在全新安装时情况并非如此(GDrive切换后)。
我没有碰过ember-cli的安装(不是我所知道的)。
有没有人知道这里可能出现什么问题?
ember-cli:2.5.0 节点:4.2.2 os:win32 x64
答案 0 :(得分:0)
尝试将package.json中的lodash依赖项设置为早于4.17.0的版本。它是ember-cli的依赖,并于昨晚更新。我今天早上与我公司的一个项目有同样的错误和堆栈跟踪,它昨晚在CI系统中编译但今天早上失败,没有对项目进行任何更改。我比较了下载的依赖项,并且有一些新版本。第一个区别是lodash,所以我将4.16.6版本添加到我的package.json(昨晚工作的版本),我的项目再次编译。
对于Node,我仍然是一个新手,所以可能有一个更好的解决方案,但这不是我第一次能够通过强制npm获取旧版本的依赖项来解决编译中断
答案 1 :(得分:0)
同样的问题也影响了我的项目。
@Bloomy你是对的, 错误来自这里 /node_modules/ember-cli/lib/broccoli/ember-app.js:317:55 通过简短的调试,似乎存在从不存在的对象访问属性的问题,因为,正如我猜测的那样,lodash&#39;避免深度克隆._omit结果&#39; https://github.com/lodash/lodash/commit/6c427b7a260183685b16d2624351529cda25ce81。
如果你将lodash的版本在ember-cli中放到之前的某个版本(仅适用于你的本地版本) - 你会看到它的工作原理。尚无法进行生产。如果还没有打开,可以在ember-cli插件中打开一张票:)
答案 2 :(得分:0)
我也遇到了同样的问题,并在github中提出了以下问题
https://github.com/ember-cli/ember-cli/issues/6432
并且发现最近发布的lodash即lodash@4.17.0
有一个小错误,它正在打破事情。因此,在发布补丁之前,请尝试使用lodash@4.16.5
,这应该可以解决您现在的问题。