【问题标题】:ember-cli -TypeError : undefined is not a function after running ember serverember-cli -TypeError : undefined is not a function after running ember server
【发布时间】:2015-03-12 08:47:53
【问题描述】:

我像这样使用 ember-cli 创建了一个新的 ember 应用程序

ember new myapp
cd myapp
ember server.

我收到以下神秘错误。

 ember server
 version: 0.2.0-beta.1
 Livereload server on port 35729
 Serving on http://0.0.0.0:4200/
 undefined is not a function
 TypeError: undefined is not a function
at rimraf (/vagrant/fadis-web/node_modules/ember-cli/node_modules/broccoli-caching-writer/node_modules/rimraf/rimraf.js:57:13)
at lib$rsvp$node$$tryApply (/vagrant/fadis-web/node_modules/ember-cli/node_modules/broccoli-caching-writer/node_modules/rsvp/dist/rsvp.js:1467:11)
at lib$rsvp$node$$handleValueInput (/vagrant/fadis-web/node_modules/ember-cli/node_modules/broccoli-caching-writer/node_modules/rsvp/dist/rsvp.js:1567:20)
at fn (/vagrant/fadis-web/node_modules/ember-cli/node_modules/broccoli-caching-writer/node_modules/rsvp/dist/rsvp.js:1555:18)
at /vagrant/fadis-web/node_modules/ember-cli/node_modules/broccoli-caching-writer/index.js:100:14
at lib$rsvp$$internal$$tryCatch (/vagrant/fadis-web/node_modules/ember-cli/node_modules/promise-map-series/node_modules/rsvp/dist/rsvp.js:489:16)
at lib$rsvp$$internal$$invokeCallback (/vagrant/fadis-web/node_modules/ember-cli/node_modules/promise-map-series/node_modules/rsvp/dist/rsvp.js:501:17)
at lib$rsvp$$internal$$publish (/vagrant/fadis-web/node_modules/ember-cli/node_modules/promise-map-series/node_modules/rsvp/dist/rsvp.js:472:11)
at lib$rsvp$asap$$flush (/vagrant/fadis-web/node_modules/ember-cli/node_modules/promise-map-series/node_modules/rsvp/dist/rsvp.js:1290:9)
at process._tickCallback (node.js:355:11)

我对 ember 完全陌生,所以我不知道发生了什么。任何建议。

【问题讨论】:

  • 遇到同样的问题 - 使用 cli 0.1.5 进行非 htmlbars 渲染
  • @StefanKoenig 没有为我工作仍然得到同样的错误。
  • 在您的情况下,升级到 cli@0.2.0 可能就足够了
  • cli 更新后,创建一个新的测试项目,测试 ember 服务器是否工作,并将你的 package.json 与工作中的进行比较...

标签: ember.js ember-cli


【解决方案1】:

我通过安装包"rimraf":"2.2.8"解决了这个问题。

与此帖相关:https://github.com/ember-cli/ember-cli/issues/3413

【讨论】:

    【解决方案2】:

    升级到 ember-cli 0.2.0 成功了。

    【讨论】:

    • CLI 不是还在 1.13.8
    【解决方案3】:

    我解决了。

    我做过的事情:

    • 尝试遵循 https://github.com/ember-cli/ember-cli/issues/3486 的建议...没有用,但为我指明了正确的方向

    • rm -R node_modules删除了我的node_modules文件夹

    • 运行npm install
    • 收到一些警告,例如:

      npm WARN unmet dependency /Users/sk/projects/ui/node_modules/ember-cli/node_modules/broccoli-caching-writer/node_modules/rimraf requires glob@'^4.4.2' but will load 
      npm WARN unmet dependency /Users/sk/projects/ui/node_modules/ember-cli/node_modules/glob,
      npm WARN unmet dependency which is version 4.0.5
      npm WARN unmet dependency /Users/sk/projects/ui/node_modules/ember-cli/node_modules/broccoli-es6modules/node_modules/broccoli-caching-writer/node_modules/rimraf requires glob@'^4.4.2' but will load
      
    • 然后我明确地将broccoli-caching-writer 添加到package.json 请求上一个专业的最后一个版本并且它工作。

    • 运行 remove node_modules 并重新运行 npm install 并成功了

    这是我添加到 package.json 中的:

    "broccoli-caching-writer": "0.4.2",
    "broccoli-es6modules": "0.4.3",
    "broccoli-sourcemap-concat": "0.4.0"
    

    编辑:更新

    在我看来,错误是由不完整的 ember-cli 文件夹结构引起的。我之前没有 app/styles 文件夹(和其他一些文件夹),所以我从一个空白的 ember-cli 项目中添加了它们,删除了 node_modules 文件夹,删除了上面添加的行并重新运行 npm install 并且它起作用了。可能是相关的。

    【讨论】: