4

版本:

  • ember.js 2.7,余烬数据 2.7
  • ember-cli 2.9.1 // 也适用于 ember-cli 2.7
  • node 6.9.1, npm 3.10.9 // 对 node 4.4.4 和 npm 2.15.5 也是如此
  • 麦克埃尔卡皮坦

重现步骤:

  • 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,构建工作就像以前一样没有错误。

有任何想法吗?

npm install更新:由and构建的 node_modules 文件夹的差异yarn


仅在 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/: 默认值

仅在 yarn_node_modules/: dezalgo

仅在 yarn_node_modules/: dom-storage

仅在 yarn_node_modules/: 编辑器中

仅在 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/: 已安装

仅在 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


4

2 回答 2

1

默认情况下,Yarn 在清理阶段会删除很多包。Ember-cli-qunit 需要 images 目录才能运行,但默认情况下已将其删除。

更新您的.yarnclean文件并替换以下行:

图片

!图片

这将保留所有图像目录,如果您需要更多特异性,可以改进正则表达式。

于 2017-01-03T22:06:45.387 回答
0

我遇到了同样的事情。我发现另一个解决方法是将 ember-cli-qunit 降级回 v1.4.0 也允许使用 yarn 构建模块。

于 2016-12-28T14:33:29.200 回答