Ember CLI:尝试注册未知工厂:`controller:object`

Ember CLI: Attempting to register an unknown factory: `controller:object`

我的 ember-cli 版本是 0.2.3。当我尝试 运行 测试时出现以下错误。

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 内部问题。

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

Ember版本为2.0。

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

I am actually using v2.3.0-beta.2 of Ember CLI. When you fire it up, it displays v0.2.3 on terminal for some reason.

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

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

这样做是为了确保调用的命令(生成、构建等)是正确的版本并且不会破坏您的应用程序。