Ember.js 2.7不会使用纱线生成 – 使用npm生成
版本:
- ember.js 2.7,ember-data 2.7
- ember-cli 2.9.1 //对于烬2.7也是如此
- 节点6.9.1,npm 3.10.9 //对于节点4.4.4和npm 2.15.5也是如此
- Mac El Capitan
重现步骤:
rm -Rf node_modules bower_components
-
yarn
-
bower install
-
ember s
或ember build
症状:
Build failed. The Broccoli Plugin: [Funnel: Funnel vendor/ember-cli-qunit/images /assets include:2] failed with: Error: ENOENT: no such file or directory, scandir '/Users/somePath/client/tmp/funnel-input_base_path-nIg5n9K9.tmp/0/vendor/ember-cli-qunit/images/' at Error (native) at Object.fs.readdirSync (fs.js:951:18) at FSMonitor._measure (/Users/somePath/client/node_modules/heimdalljs-fs-monitor/index.js:66:21) at Object.readdirSync (/Users/somePath/client/node_modules/heimdalljs-fs-monitor/index.js:82:30) at _walkSync (/Users/somePath/client/node_modules/broccoli-funnel/node_modules/walk-sync/index.js:64:18) at Function.entries (/Users/somePath/client/node_modules/broccoli-funnel/node_modules/walk-sync/index.js:40:10) at Funnel.processFilters (/Users/somePath/client/node_modules/broccoli-funnel/index.js:264:26) at Funnel.build (/Users/somePath/client/node_modules/broccoli-funnel/index.js:202:10) at /Users/somePath/client/node_modules/broccoli-plugin/read_compat.js:61:34 at tryCatch (/Users/somePath/client/node_modules/rsvp/dist/rsvp.js:538:12) The broccoli plugin was instantiated at: at Funnel.Plugin (/Users/somePath/client/node_modules/broccoli-plugin/index.js:7:31) at new Funnel (/Users/somePath/client/node_modules/broccoli-funnel/index.js:56:10) at /Users/somePath/client/node_modules/ember-cli/lib/broccoli/ember-app.js:1474:12 at Array.map (native) at EmberApp.otherAssets (/Users/somePath/client/node_modules/ember-cli/lib/broccoli/ember-app.js:1468:61) at EmberApp.toArray (/Users/somePath/client/node_modules/ember-cli/lib/broccoli/ember-app.js:1642:10) at EmberApp.toTree (/Users/somePath/client/node_modules/ember-cli/lib/broccoli/ember-app.js:1662:30) at module.exports (/Users/somePath/client/ember-cli-build.js:67:16) at CoreObject.setupBroccoliBuilder (/Users/somePath/client/node_modules/ember-cli/lib/models/builder.js:70:19) at CoreObject.init (/Users/somePath/client/node_modules/ember-cli/lib/models/builder.js:50:10)
如果我在纱线之后进行npm install
,控制台输出是:
npm WARN prefer global jshint@2.9.4 should be installed with -g npm WARN prefer global marked@0.3.6 should be installed with -g npm WARN prefer global node-gyp@3.3.1 should be installed with -g > node-sass@3.10.1 install /Users/somePath/client/node_modules/node-sass > node scripts/install.js > node-sass@3.10.1 postinstall /Users/somePath/client/node_modules/node-sass > node scripts/build.js "/Users/somePath/client/node_modules/node-sass/vendor/darwin-x64-46/binding.node" exists. testing binary. Binary is fine; exiting. npm WARN prefer global npm@3.10.9 should be installed with -g > spawn-sync@1.0.15 postinstall /Users/somePathclient/node_modules/spawn-sync > node postinstall auth0-ember-simple-auth@1.1.0 node_modules/auth0-ember-simple-auth
如果我rm -Rf node_modules
并执行标准的npm install
,构build工作没有像以前一样的错误。
有任何想法吗?
更新:由npm install
和yarn
构build的node_modules文件夹的差异:
仅在yarn_node_modules /:.yarn-integrity中
仅在yarn_node_modules /:ansi中
仅在yarn_node_modules /:ansistyles中
仅在yarn_node_modules /:archy中
仅在yarn_node_modules /中:async-some
仅在yarn_node_modules /:builtins中
仅在yarn_node_modules /:char-spinner中
仅在yarn_node_modules /:chmodr中
仅在yarn_node_modules /:chownr中
仅在yarn_node_modules /:cmd-shim中
仅在yarn_node_modules /:columnify中
仅在yarn_node_modules /:config-chain中
仅在yarn_node_modules /:debuglog中
仅在yarn_node_modules /:defaults中
仅在yarn_node_modules /:dezalgo中
仅在yarn_node_modules /:dom-storage中
仅在yarn_node_modules /:editor中
仅在yarn_node_modules /:esprima中
仅在yarn_node_modules /:fs-vacuum中
仅在yarn_node_modules /:fs-write-stream-atomic中
仅在yarn_node_modules /中:fstream-ignore
仅在yarn_node_modules /:fstream-npm中
仅在yarn_node_modules /中:github-url-from-git
只在yarn_node_modules /:github-url-from-username-repo
仅在yarn_node_modules /:ic-ajax中
仅在yarn_node_modules /:iferr中
仅在yarn_node_modules /:init-package-json中
仅在yarn_node_modules /:jju中
仅在yarn_node_modules /:json-parse-helpfulerror中
仅在yarn_node_modules /:lockfile中
仅在yarn_node_modules /:lodash.pad中
仅在yarn_node_modules /:lodash.padend中
仅在yarn_node_modules /:lodash.padstart中
仅在yarn_node_modules /:normalize-git-url中
仅在yarn_node_modules /:npm-cache-filename中
仅在yarn_node_modules /:npm-install-checks中
仅在yarn_node_modules /:npm-registry-client中
仅在yarn_node_modules /:npm-user-validate中
仅在yarn_node_modules /:opener中
仅在yarn_node_modules /:path-is-inside中
仅在yarn_node_modules /:promzard中
仅在yarn_node_modules /:proto-list中
仅在yarn_node_modules /中:读取
仅在yarn_node_modules /中:read-installed
仅在yarn_node_modules /:read-package-json中
仅在yarn_node_modules /:readdir-scoped-modules中
仅在yarn_node_modules /:实现包说明符
仅在yarn_node_modules /中:重试
仅在yarn_node_modules /:sha中
仅在yarn_node_modules /:sigmund中
仅在yarn_node_modules /:sorted-object中
仅在yarn_node_modules /:text-table中
仅在yarn_node_modules /:uid-number中
仅在yarn_node_modules /:umask中
仅在yarn_node_modules /:validate-npm-package-name中
仅在yarn_node_modules /:wcwidth中
Yarn在清理阶段默认会删除大量的包。 Ember-cli-qunit需要运行images目录,但默认情况下会被删除。
更新你的.yarnclean文件并replace这一行:
图片
同
!图片
这将离开所有的图像目录,你可以改进正则expression式,如果你需要更多的特异性。
我遇到了同样的事情 我发现另一个解决方法是将ember-cli-qunit降级到v1.4.0,也允许使用纱线构build模块。