2016-05-01 84 views
0

我的余烬版本是0.2.3。当我尝试运行测试时,出现以下错误。Ember CLI:试图注册一个未知的工厂:`controller:object`

TypeError: Attempting to register an unknown factory: `controller:object` 
    at Object.Registry.register (http://localhost:7357/assets/vendor.js:12208:15) 
    at Object.container.(anonymous function) [as register] (http://localhost:7357/assets/test-support.js:1905:44) 
    at Object.isolatedContainer [as default] (http://localhost:7357/assets/test-support.js:1946:15) 
    at exports.default.klassy.Klass.extend._setupIsolatedContainer (http://localhost:7357/assets/test-support.js:2406:52) 
    at exports.default.klassy.Klass.extend.setupContainer (http://localhost:7357/assets/test-support.js:2312:14) 
    at nextStep (http://localhost:7357/assets/test-support.js:2300:53) 
    at exports.default.klassy.Klass.extend.invokeSteps (http://localhost:7357/assets/test-support.js:2305:14) 
    at exports.default.klassy.Klass.extend.setup (http://localhost:7357/assets/test-support.js:2275:19) 
    at Object.qunit.module.setup (http://localhost:7357/assets/test-support.js:1814:16) 
    at runHook (http://localhost:7357/assets/test-support.js:3534:20) 

任何想法可能会导致此?看起来像一个呃内部问题。

我实际上使用Ember CLI的v2.3.0-beta.2。当你启动它时,它出于某种原因在终端上显示v0.2.3。

Ember版本是2.0。

我有一个触发这个模型的单元测试。测试使用moduleFor而不是moduleForModel,因为我的应用不使用Ember数据。

+0

你为什么使用v0.2.3? Ember依赖的版本是什么?什么测试触发了这个? – locks

+0

@locks更新了我的问题。 – Rajat

+0

“我实际上使用了Ember CLI的v2.3.0-beta.2,当你启动它时,它出于某种原因在终端上显示v0.2.3。”这意味着项目版本与系统版本不同。检查项目的'package.json'。 – locks

回答

1

我实际上使用了Ember CLI的v2.3.0-beta.2。当你启动它时,它出于某种原因在终端上显示v0.2.3。

发生这种情况是因为您全局安装的Ember CLI与项目的package.json中指定的版本不同。

Ember CLI在运行命令时会执行什么操作,如果检查它是否在Ember项目中。它通过检查当前目录或父目录中的package.json文件来完成此操作。如果发现它,它会将命令委托给您的项目依赖的Ember CLI。

这样做是为了确保调用的命令(生成,构建等)是正确的版本,不会中断您的应用程序。