Node.js 清洁安装后重建时Ember CLI崩溃--我做错了什么?

Node.js 清洁安装后重建时Ember CLI崩溃--我做错了什么?,node.js,ember.js,ember-cli,broccolijs,Node.js,Ember.js,Ember Cli,Broccolijs,我不知道出了什么问题,但是当我在我的项目中更改一个文件(这会触发重建)时,我会得到一个EEXIST,文件已经存在错误,并引用了一个tmp文件位置 如需说明,请参见以下内容: 1) 我从头到尾说: 2) 安装Ember CLI 0.2.0-beta.1 ➜ code npm install -g ember-cli@0.2.0-beta.1 /usr/local/bin/ember -> /usr/local/lib/node_modules/ember-cli/bin/ember em

我不知道出了什么问题,但是当我在我的项目中更改一个文件(这会触发重建)时,我会得到一个
EEXIST,文件已经存在
错误,并引用了一个tmp文件位置

如需说明,请参见以下内容:

1) 我从头到尾说:

2) 安装Ember CLI 0.2.0-beta.1

➜  code  npm install -g ember-cli@0.2.0-beta.1
/usr/local/bin/ember -> /usr/local/lib/node_modules/ember-cli/bin/ember
ember-cli@0.2.0-beta.1 /usr/local/lib/node_modules/ember-cli
├── abbrev@1.0.5
├── ember-cli-copy-dereference@1.0.0
├── js-string-escape@1.0.0
├── exit@0.1.2
├── debug@2.1.2 (ms@0.7.0)
├── temp@0.8.1 (rimraf@2.2.8)
├── symlink-or-copy@1.0.1 (copy-dereference@1.0.0)
├── http-proxy@1.8.1 (requires-port@0.0.0, eventemitter3@0.1.6)
├── promise-map-series@0.2.1 (rsvp@3.0.17)
├── yam@0.0.17 (fs-extra@0.8.1, findup@0.1.5, lodash@2.4.1)
├── broccoli-writer@0.1.1 (rsvp@3.0.17, quick-temp@0.1.2)
├── broccoli-sane-watcher@0.1.1 (broccoli-slow-trees@1.0.0, rsvp@3.0.17, sane@1.0.0-rc1)
├── broccoli-caching-writer@0.5.1 (rsvp@3.0.17, quick-temp@0.1.2, broccoli-kitchen-sink-helpers@0.2.6, core-object@0.0.2, rimraf@2.3.0)
├── broccoli-sourcemap-concat@0.4.3 (combined-stream@0.0.7, mkdirp@0.5.0, rsvp@3.0.17, broccoli-kitchen-sink-helpers@0.2.6, lodash-node@2.4.1, fast-sourcemap-concat@0.2.2, broccoli-caching-writer@0.5.3)
└── broccoli-es6modules@0.5.1 (walk-sync@0.1.3, mkdirp@0.5.0, rsvp@3.0.17, broccoli-kitchen-sink-helpers@0.2.6, broccoli-caching-writer@0.5.3, esperanto@0.6.17)
3) 向自己证明余烬/节点/npm都是好的

➜  code  ember version
version: 0.2.0-beta.1
node: 0.12.0
npm: 2.1.8
4) 创建一个全新的余烬应用程序

➜  code  ember new an-app
version: 0.2.0-beta.1
installing
  create .bowerrc
  create .editorconfig
  create .ember-cli
  create .jshintrc
  create .travis.yml
  create Brocfile.js
  create README.md
  create app/app.js
  create app/components/.gitkeep
  create app/controllers/.gitkeep
  create app/helpers/.gitkeep
  create app/index.html
  create app/models/.gitkeep
  create app/router.js
  create app/routes/.gitkeep
  create app/styles/app.css
  create app/templates/application.hbs
  create app/templates/components/.gitkeep
  create app/views/.gitkeep
  create bower.json
  create config/environment.js
  create .gitignore
  create package.json
  create public/crossdomain.xml
  create public/robots.txt
  create testem.json
  create tests/.jshintrc
  create tests/helpers/resolver.js
  create tests/helpers/start-app.js
  create tests/index.html
  create tests/test-helper.js
  create tests/unit/.gitkeep
  create vendor/.gitkeep
Installed packages for tooling via npm.
Installed browser packages via Bower.
Successfully initialized git.
5) 启动应用程序

➜  code  cd an-app
➜  an-app git:(master) ember server
version: 0.2.0-beta.1
Livereload server on port 35729
Serving on http://0.0.0.0:4200/

Build successful - 3682ms.

Slowest Trees                  | Total
-------------------------------+----------------
Concat: Vendor                 | 3046ms
6) 保存一个未修改的
router.js
,它将触发重建。这就是事情崩溃的地方

file changed router.js
EEXIST, file already exists '/Users/userx/code/an-app/tmp/caching-writer-dest-dir_4SJKQT.tmp'
Error: EEXIST, file already exists '/Users/userx/code/an-app/tmp/caching-writer-dest-dir_4SJKQT.tmp'
    at Error (native)
    at Object.fs.symlinkSync (fs.js:852:18)
    at symlink (/Users/userx/code/an-app/node_modules/ember-cli/node_modules/symlink-or-copy/index.js:82:14)
    at Function.symlinkOrCopySync (/Users/userx/code/an-app/node_modules/ember-cli/node_modules/symlink-or-copy/index.js:58:5)
    at /Users/userx/code/an-app/node_modules/ember-cli/node_modules/broccoli-sourcemap-concat/node_modules/broccoli-caching-writer/index.js:103:21
    at lib$rsvp$$internal$$tryCatch (/Users/userx/code/an-app/node_modules/ember-cli/node_modules/promise-map-series/node_modules/rsvp/dist/rsvp.js:489:16)
    at lib$rsvp$$internal$$invokeCallback (/Users/userx/code/an-app/node_modules/ember-cli/node_modules/promise-map-series/node_modules/rsvp/dist/rsvp.js:501:17)
    at lib$rsvp$$internal$$publish (/Users/userx/code/an-app/node_modules/ember-cli/node_modules/promise-map-series/node_modules/rsvp/dist/rsvp.js:472:11)
    at lib$rsvp$asap$$flush (/Users/userx/code/an-app/node_modules/ember-cli/node_modules/promise-map-series/node_modules/rsvp/dist/rsvp.js:1290:9)
    at process._tickCallback (node.js:355:11)
我真的不知道如何/从哪里开始调试这个。我已经尝试了node的早期版本io.js,并删除/重新安装了
watcher
。所有这些都失败了


感谢您抽出时间。

Ember CLI社区一夜之间找到了解决此问题的方法。您可以通过以下链接查看讨论:

长短不一:修改您的
package.json
文件,在devDependencies下包含
“花椰菜sass”:“^0.4.0”
,在列出的依赖项下包含
“rimraf”:“2.2.8”

我可以确认,如果您进行了这些更改,然后删除
/node\u模块
/bower\u组件
/tmp
,然后执行
npm安装
bower安装
,然后运行
余烬服务器
,当文件更改时,您的项目将自动正确更新


不要问我为什么。

@TimothyGu你可能是对的。。。在我的项目目录中完成了
npm更新之后,我的情况非常相似。我的理论是,最近更新了ember cli中的某个基本依赖项,当我下载新版本时,它破坏了我在编辑时查看和刷新页面的能力。如果您找到了解决方案,请随时通知我。更清洁的解决方案已经可用:
rm-rf节点模块bower\u组件区tmp;余烬安装
应修复此错误(这是一个完整的重新安装包)
file changed router.js
EEXIST, file already exists '/Users/userx/code/an-app/tmp/caching-writer-dest-dir_4SJKQT.tmp'
Error: EEXIST, file already exists '/Users/userx/code/an-app/tmp/caching-writer-dest-dir_4SJKQT.tmp'
    at Error (native)
    at Object.fs.symlinkSync (fs.js:852:18)
    at symlink (/Users/userx/code/an-app/node_modules/ember-cli/node_modules/symlink-or-copy/index.js:82:14)
    at Function.symlinkOrCopySync (/Users/userx/code/an-app/node_modules/ember-cli/node_modules/symlink-or-copy/index.js:58:5)
    at /Users/userx/code/an-app/node_modules/ember-cli/node_modules/broccoli-sourcemap-concat/node_modules/broccoli-caching-writer/index.js:103:21
    at lib$rsvp$$internal$$tryCatch (/Users/userx/code/an-app/node_modules/ember-cli/node_modules/promise-map-series/node_modules/rsvp/dist/rsvp.js:489:16)
    at lib$rsvp$$internal$$invokeCallback (/Users/userx/code/an-app/node_modules/ember-cli/node_modules/promise-map-series/node_modules/rsvp/dist/rsvp.js:501:17)
    at lib$rsvp$$internal$$publish (/Users/userx/code/an-app/node_modules/ember-cli/node_modules/promise-map-series/node_modules/rsvp/dist/rsvp.js:472:11)
    at lib$rsvp$asap$$flush (/Users/userx/code/an-app/node_modules/ember-cli/node_modules/promise-map-series/node_modules/rsvp/dist/rsvp.js:1290:9)
    at process._tickCallback (node.js:355:11)