nodejs / node-gyp

Node.js native addon build tool
MIT License
9.95k stars 1.8k forks source link

fsevents installation crashes with "'MSVSProject' object has no attribute 'iteritems'" #661

Closed timdp closed 9 years ago

timdp commented 9 years ago

I had the same issue as @jamietre in npm/npm#8878. Looking at the stack trace, I'm pretty sure it's node-gyp that's encountering some sort of error while trying to install fsevents (a Mac OS X-specific module, from the looks of it). The error message seems generic enough to be a gyp-related one rather than an fsevents one though, so I'm filing it here.

cchamberlain commented 9 years ago

Same issue here installing various projects - fsevents always fails even though it seems like it shouldn't be required on a Windows system? I'm on Windows 8.1 with msys2.

image

alfeg commented 9 years ago

Same for me. npm/3.1.0 node/v0.12.7 win32 x64

geoffreydhuyvetters commented 9 years ago

same here

npm 3.1.2 / io.js v2.3.4 / osx 10.10.4

any fix, solution?

felixbillon commented 9 years ago

+1

gabrielgiordan commented 9 years ago

Same issue here: node 0.12.7, npm 3.1.3, node-gyp 2.0.2 and Visual Studio 2015 on a Windows 8.1 x64 with environment variable GYP_MSVS_VERSION set to 2015

2015-07-22_4-02-13

gabrielgiordan commented 9 years ago

I've downgraded to npm 2.11.2 and the package was installed normally.

nakah commented 9 years ago

I've the issue but can't go back to npm < 3.0 because I really need flattened node_modules folder feature of npm 3.0. Really need a fix

rchanou commented 9 years ago

I've gotten this error, but the modules worked fine anyways. Last time I specifically remember this happening is with webpack. Using 3.1.0 in Windows 8.1. Discussed in the fsevents repo in strongloop/fsevents#73.

rchanou commented 9 years ago

And NPM is fixing the errors for optional modules: npm/npm#8921

timdp commented 9 years ago

@rchanou I just came across that npm issue myself. It looks like that's the real culprit.

iarna commented 9 years ago

Hey! Good news, this should be fixed in the just released npm@3.2.0!

gabrielgiordan commented 9 years ago

Awesome news @iarna just tested the new release right now and worked like a charm! Many thanks!

Fishrock123 commented 9 years ago

Thanks @iarna :)

andrei-eliseev-sb commented 8 years ago

Hey, @iarna! I still have this problem with npm 3.5.0.

npm install

> fsevents@0.3.8 install C:\_work\project\node_modules\fsevents
> node-gyp rebuild

C:\_work\project\node_modules\fsevents>if not defined npm_config_node_gyp (node "C:\Program Files\nodejs\node_modules\npm\bin\node-gyp-bin\\..\..\node_modules\node-gyp\bin\node-gyp.js" rebuild )  else (node  rebuild )
Traceback (most recent call last):
  File "C:\Program Files\nodejs\node_modules\npm\node_modules\node-gyp\gyp\gyp_main.py", line 18, in <module>
    sys.exit(gyp.script_main())
  File "C:\Program Files\nodejs\node_modules\npm\node_modules\node-gyp\gyp\pylib\gyp\__init__.py", line 533, in script_main
    return main(sys.argv[1:])
  File "C:\Program Files\nodejs\node_modules\npm\node_modules\node-gyp\gyp\pylib\gyp\__init__.py", line 526, in main
    return gyp_main(args)
  File "C:\Program Files\nodejs\node_modules\npm\node_modules\node-gyp\gyp\pylib\gyp\__init__.py", line 511, in gyp_main
    generator.GenerateOutput(flat_list, targets, data, params)
  File "C:\Program Files\nodejs\node_modules\npm\node_modules\node-gyp\gyp\pylib\gyp\generator\msvs.py", line 2000, in GenerateOutput
    sln_projects, project_objects, flat=msvs_version.FlatSolution())
  File "C:\Program Files\nodejs\node_modules\npm\node_modules\node-gyp\gyp\pylib\gyp\generator\msvs.py", line 1759, in _GatherSolutionFolders
    return _DictsToFolders('', root, flat)
  File "C:\Program Files\nodejs\node_modules\npm\node_modules\node-gyp\gyp\pylib\gyp\generator\msvs.py", line 1712, in _DictsToFolders
    for folder, contents in bucket.iteritems():
AttributeError: 'MSVSProject' object has no attribute 'iteritems'
gyp ERR! configure error
gyp ERR! stack Error: `gyp` failed with exit code: 1
gyp ERR! stack     at ChildProcess.onCpExit (C:\Program Files\nodejs\node_modules\npm\node_modules\node-gyp\lib\configure.js:355:16)
gyp ERR! stack     at ChildProcess.emit (events.js:110:17)
gyp ERR! stack     at Process.ChildProcess._handle.onexit (child_process.js:1074:12)
gyp ERR! System Windows_NT 6.3.9600
gyp ERR! command "node" "C:\\Program Files\\nodejs\\node_modules\\npm\\node_modules\\node-gyp\\bin\\node-gyp.js" "rebuild"
gyp ERR! cwd C:\_work\project\node_modules\fsevents
gyp ERR! node -v v0.12.2
gyp ERR! node-gyp -v v3.0.3
gyp ERR! not ok
npm WARN install:fsevents@0.3.8 fsevents@0.3.8 install: `node-gyp rebuild`
npm WARN install:fsevents@0.3.8 Exit status 1
npm -v
3.5.0

We are using shrinkwrap.json if it's important.

andrei-eliseev-sb commented 8 years ago

If I delete shrinkwrap.json and node_modules folder then the problem goes away. But I get another warning

npm install
npm WARN optional Skipping failed optional dependency /chokidar/fsevents:
npm WARN notsup Not compatible with your operating system or architecture: fsevents@1.0.5

Not sure if the problem is solved because fsevents is updated after deleting shrinkwrap.json..

alexeikaratai commented 8 years ago

Help pls / PS C:\work\f8app> npm install

fsevents@1.0.11 install C:\work\f8app\node_modules\fsevents node-pre-gyp install --fallback-to-build

C:\work\f8app\node_modules\fsevents>if not defined npm_config_node_gyp (node "C:\Users\Alexei\AppData\Roaming\npm\node_m odules\npm\bin\node-gyp-bin....\node_modules\node-gyp\bin\node-gyp.js" clean ) else (node "" clean )

C:\work\f8app\node_modules\fsevents>if not defined npm_config_node_gyp (node "C:\Users\Alexei\AppData\Roaming\npm\node_m odules\npm\bin\node-gyp-bin....\node_modules\node-gyp\bin\node-gyp.js" configure --fallback-to-build --module=C:\work \f8app\node_modules\fsevents\lib\binding\Release\node-v48-win32-x64\fse.node --module_name=fse --module_path=C:\work\f8a pp\node_modules\fsevents\lib\binding\Release\node-v48-win32-x64 --msvs_version=2013 ) else (node "" configure --fallbac k-to-build --module=C:\work\f8app\node_modules\fsevents\lib\binding\Release\node-v48-win32-x64\fse.node --module_name=fs e --module_path=C:\work\f8app\node_modules\fsevents\lib\binding\Release\node-v48-win32-x64 --msvs_version=2013 ) Traceback (most recent call last): File "C:\Users\Alexei\AppData\Roaming\npm\node_modules\npm\node_modules\node-gyp\gyp\gyp_main.py", line 16, in <module

sys.exit(gyp.script_main())

File "C:\Users\Alexei\AppData\Roaming\npm\node_modules\npm\node_modules\node-gyp\gyp\pylib\gypinit.py", line 545, in script_main return main(sys.argv[1:]) File "C:\Users\Alexei\AppData\Roaming\npm\node_modules\npm\node_modules\node-gyp\gyp\pylib\gypinit.py", line 538, in main return gyp_main(args) File "C:\Users\Alexei\AppData\Roaming\npm\node_modules\npm\node_modules\node-gyp\gyp\pylib\gypinit.py", line 523, in gyp_main generator.GenerateOutput(flat_list, targets, data, params) File "C:\Users\Alexei\AppData\Roaming\npm\node_modules\npm\node_modules\node-gyp\gyp\pylib\gyp\generator\msvs.py", lin e 2003, in GenerateOutput sln_projects, project_objects, flat=msvs_version.FlatSolution()) File "C:\Users\Alexei\AppData\Roaming\npm\node_modules\npm\node_modules\node-gyp\gyp\pylib\gyp\generator\msvs.py", lin e 1762, in _GatherSolutionFolders return _DictsToFolders('', root, flat) File "C:\Users\Alexei\AppData\Roaming\npm\node_modules\npm\node_modules\node-gyp\gyp\pylib\gyp\generator\msvs.py", lin e 1715, in _DictsToFolders for folder, contents in bucket.iteritems(): AttributeError: 'MSVSProject' object has no attribute 'iteritems' gyp ERR! configure error gyp ERR! stack Error: gyp failed with exit code: 1 gyp ERR! stack at ChildProcess.onCpExit (C:\Users\Alexei\AppData\Roaming\npm\node_modules\npm\node_modules\node-gyp\ lib\configure.js:305:16) gyp ERR! stack at emitTwo (events.js:106:13) gyp ERR! stack at ChildProcess.emit (events.js:191:7) gyp ERR! stack at Process.ChildProcess._handle.onexit (internal/child_process.js:204:12) gyp ERR! System Windows_NT 10.0.10586 gyp ERR! command "C:\Program Files\nodejs\node.exe" "C:\Users\Alexei\AppData\Roaming\npm\node_modules\npm\nod e_modules\node-gyp\bin\node-gyp.js" "configure" "--fallback-to-build" "--module=C:\work\f8app\node_modules\fseven ts\lib\binding\Release\node-v48-win32-x64\fse.node" "--module_name=fse" "--module_path=C:\work\f8app\node_module s\fsevents\lib\binding\Release\node-v48-win32-x64" "--msvs_version=2013" gyp ERR! cwd C:\work\f8app\node_modules\fsevents gyp ERR! node -v v6.2.0 gyp ERR! node-gyp -v v3.3.1 gyp ERR! not ok node-pre-gyp ERR! build error node-pre-gyp ERR! stack Error: Failed to execute 'node-gyp.cmd configure --fallback-to-build --module=C:\work\f8app\node _modules\fsevents\lib\binding\Release\node-v48-win32-x64\fse.node --module_name=fse --module_path=C:\work\f8app\node_mod ules\fsevents\lib\binding\Release\node-v48-win32-x64 --msvs_version=2013' (1) node-pre-gyp ERR! stack at ChildProcess. (C:\work\f8app\node_modules\fsevents\node_modules\node-pre-gyp\l ib\util\compile.js:83:29) node-pre-gyp ERR! stack at emitTwo (events.js:106:13) node-pre-gyp ERR! stack at ChildProcess.emit (events.js:191:7) node-pre-gyp ERR! stack at maybeClose (internal/child_process.js:850:16) node-pre-gyp ERR! stack at Process.ChildProcess._handle.onexit (internal/child_process.js:215:5) node-pre-gyp ERR! System Windows_NT 10.0.10586 node-pre-gyp ERR! command "C:\Program Files\nodejs\node.exe" "C:\work\f8app\node_modules\fsevents\node_modules\ node-pre-gyp\bin\node-pre-gyp" "install" "--fallback-to-build" node-pre-gyp ERR! cwd C:\work\f8app\node_modules\fsevents node-pre-gyp ERR! node -v v6.2.0 node-pre-gyp ERR! node-pre-gyp -v v0.6.25 node-pre-gyp ERR! not ok Failed to execute 'node-gyp.cmd configure --fallback-to-build --module=C:\work\f8app\node_modules\fsevents\lib\binding\R elease\node-v48-win32-x64\fse.node --module_name=fse --module_path=C:\work\f8app\node_modules\fsevents\lib\binding\Relea se\node-v48-win32-x64 --msvs_version=2013' (1) npm ERR! Windows_NT 10.0.10586 npm ERR! argv "C:\Program Files\nodejs\node.exe" "C:\Users\Alexei\AppData\Roaming\npm\node_modules\npm\bin\n pm-cli.js" "install" npm ERR! node v6.2.0 npm ERR! npm v3.9.2 npm ERR! code ELIFECYCLE

npm ERR! fsevents@1.0.11 install: node-pre-gyp install --fallback-to-build npm ERR! Exit status 1 npm ERR! npm ERR! Failed at the fsevents@1.0.11 install script 'node-pre-gyp install --fallback-to-build'. npm ERR! Make sure you have the latest version of node.js and npm installed. npm ERR! If you do, this is most likely a problem with the fsevents package, npm ERR! not with npm itself. npm ERR! Tell the author that this fails on your system: npm ERR! node-pre-gyp install --fallback-to-build npm ERR! You can get information on how to open an issue for this project with: npm ERR! npm bugs fsevents npm ERR! Or if that isn't available, you can get their info via: npm ERR! npm owner ls fsevents npm ERR! There is likely additional logging output above.

npm ERR! Please include the following file with any support request: npm ERR! C:\work\f8app\npm-debug.log

rjimenez-icinetic commented 8 years ago

+1

radum commented 8 years ago

This is no longer an issue if you follow the install steps from node-gyp module readme file.

Make sure you have the proper MSVS version installed, the correct env PATH set, and env vars set. Also update your Git version from the website, it solves a lot of issues. Make sure git is available from the CMD and only from Gitbash.

The only problem might be where npm modules are very old and outdated. There nothing you can do for this, unless you start raising PRs to fix them.

Also you can use node-gyp-install from NPM to help you with node-gyp it that fails to download the proper files. Just install globally node gyp and run node-gyp-install after.

Xstoudi commented 8 years ago

Still doesn't work with npm@3.9.5 on Windows 10... :/

``` X:\Programmation\NodeJS\vscode>scripts\npm install npm WARN deprecated graceful-fs@3.0.8: graceful-fs v3.0.0 and before will fail on node releases >= v7.0. Please update to graceful-fs@^4.0.0 as soon as possible. Use 'npm ls graceful-fs' to find it in the tree. npm WARN deprecated minimatch@2.0.10: Please update to minimatch 3.0.2 or higher to avoid a RegExp DoS issue npm WARN deprecated lodash@1.0.2: lodash@<3.0.0 is no longer maintained. Upgrade to lodash@^4.0.0. npm WARN deprecated graceful-fs@1.2.3: graceful-fs v3.0.0 and before will fail on node releases >= v7.0. Please update to graceful-fs@^4.0.0 as soon as possible. Use 'npm ls graceful-fs' to find it in the tree. npm WARN deprecated minimatch@0.2.12: Please update to minimatch 3.0.2 or higher to avoid a RegExp DoS issue npm WARN deprecated minimatch@0.3.0: Please update to minimatch 3.0.2 or higher to avoid a RegExp DoS issue npm WARN deprecated jade@0.26.3: Jade has been renamed to pug, please install the latest version of pug instead of jade npm WARN deprecated to-iso-string@0.0.2: to-iso-string has been deprecated, use @segment/to-iso-string instead. > typechecker@2.0.8 preinstall X:\Programmation\NodeJS\vscode\node_modules\.staging\typechecker-82edb379 > node ./cyclic.js npm WARN prefer global coffee-script@1.10.0 should be installed with -g npm WARN prefer global js-beautify@1.5.10 should be installed with -g > fsevents@0.3.8 install X:\Programmation\NodeJS\vscode\node_modules\fsevents > node-gyp rebuild X:\Programmation\NodeJS\vscode\node_modules\fsevents>if not defined npm_config_node_gyp (node "P:\nodejs\node_modules\npm\bin\node-gyp-bin\\..\..\node_modules\node-gyp\bin\node-gyp.js" rebuild ) else (node "" rebuild ) Traceback (most recent call last): File "P:\nodejs\node_modules\npm\node_modules\node-gyp\gyp\gyp_main.py", line 16, in sys.exit(gyp.script_main()) File "P:\nodejs\node_modules\npm\node_modules\node-gyp\gyp\pylib\gyp\__init__.py", line 545, in script_main return main(sys.argv[1:]) File "P:\nodejs\node_modules\npm\node_modules\node-gyp\gyp\pylib\gyp\__init__.py", line 538, in main return gyp_main(args) File "P:\nodejs\node_modules\npm\node_modules\node-gyp\gyp\pylib\gyp\__init__.py", line 523, in gyp_main generator.GenerateOutput(flat_list, targets, data, params) File "P:\nodejs\node_modules\npm\node_modules\node-gyp\gyp\pylib\gyp\generator\msvs.py", line 2003, in GenerateOutput sln_projects, project_objects, flat=msvs_version.FlatSolution()) File "P:\nodejs\node_modules\npm\node_modules\node-gyp\gyp\pylib\gyp\generator\msvs.py", line 1762, in _GatherSolutionFolders return _DictsToFolders('', root, flat) File "P:\nodejs\node_modules\npm\node_modules\node-gyp\gyp\pylib\gyp\generator\msvs.py", line 1715, in _DictsToFolders for folder, contents in bucket.iteritems(): AttributeError: 'MSVSProject' object has no attribute 'iteritems' gyp ERR! configure error gyp ERR! stack Error: `gyp` failed with exit code: 1 gyp ERR! stack at ChildProcess.onCpExit (P:\nodejs\node_modules\npm\node_modules\node-gyp\lib\configure.js:305:16) gyp ERR! stack at emitTwo (events.js:106:13) gyp ERR! stack at ChildProcess.emit (events.js:191:7) gyp ERR! stack at Process.ChildProcess._handle.onexit (internal/child_process.js:204:12) gyp ERR! System Windows_NT 10.0.10586 gyp ERR! command "P:\\nodejs\\node.exe" "P:\\nodejs\\node_modules\\npm\\node_modules\\node-gyp\\bin\\node-gyp.js" "rebuild" gyp ERR! cwd X:\Programmation\NodeJS\vscode\node_modules\fsevents gyp ERR! node -v v6.2.2 gyp ERR! node-gyp -v v3.3.1 gyp ERR! not ok code-oss-dev@1.5.0 X:\Programmation\NodeJS\vscode +-- applicationinsights@0.15.6 +-- async@1.5.2 +-- azure-storage@0.3.3 | +-- extend@1.2.1 | +-- node-uuid@1.4.7 | +-- request@2.27.0 | | +-- aws-sign@0.3.0 | | +-- cookie-jar@0.3.0 | | +-- forever-agent@0.5.2 | | +-- form-data@0.1.4 | | | +-- async@0.9.2 | | | `-- combined-stream@0.0.7 | | | `-- delayed-stream@0.0.5 | | +-- hawk@1.0.0 | | | +-- boom@0.4.2 | | | +-- cryptiles@0.2.2 | | | +-- hoek@0.9.1 | | | `-- sntp@0.2.4 | | +-- http-signature@0.10.1 | | | +-- asn1@0.1.11 | | | +-- assert-plus@0.1.5 | | | `-- ctype@0.5.3 | | +-- json-stringify-safe@5.0.1 | | +-- oauth-sign@0.3.0 | | +-- qs@0.6.6 | | `-- tunnel-agent@0.3.0 | +-- underscore@1.4.4 | +-- validator@3.1.0 | +-- xml2js@0.2.7 | | `-- sax@0.5.2 | `-- xmlbuilder@0.4.3 +-- chokidar@1.0.5 | +-- anymatch@1.3.0 | | `-- micromatch@2.3.7 | | +-- arr-diff@2.0.0 | | | `-- arr-flatten@1.0.1 | | +-- array-unique@0.2.1 | | +-- braces@1.8.3 | | | +-- expand-range@1.8.1 | | | | `-- fill-range@2.2.3 | | | | +-- is-number@2.1.0 | | | | +-- randomatic@1.1.5 | | | | `-- repeat-string@1.5.4 | | | +-- preserve@0.2.0 | | | `-- repeat-element@1.1.2 | | +-- expand-brackets@0.1.5 | | | `-- is-posix-bracket@0.1.1 | | +-- extglob@0.3.2 | | +-- filename-regex@2.0.0 | | +-- is-extglob@1.0.0 | | +-- is-glob@2.0.1 | | +-- kind-of@3.0.2 | | | `-- is-buffer@1.1.3 | | +-- normalize-path@2.0.1 | | +-- object.omit@2.0.0 | | | +-- for-own@0.1.4 | | | | `-- for-in@0.1.5 | | | `-- is-extendable@0.1.1 | | +-- parse-glob@3.0.4 | | | +-- glob-base@0.3.0 | | | | +-- glob-parent@2.0.0 | | | | `-- is-glob@2.0.1 | | | +-- is-dotfile@1.0.2 | | | `-- is-glob@2.0.1 | | `-- regex-cache@0.4.3 | | +-- is-equal-shallow@0.1.3 | | `-- is-primitive@2.0.0 | +-- arrify@1.0.1 | +-- async-each@0.1.6 | +-- glob-parent@1.3.0 | | `-- is-glob@2.0.1 | +-- is-binary-path@1.0.1 | | `-- binary-extensions@1.4.0 | +-- is-glob@1.1.3 | +-- path-is-absolute@1.0.0 | `-- readdirp@1.4.0 | `-- readable-stream@1.0.34 +-- clean-css@3.4.6 | `-- commander@2.8.1 | `-- graceful-readlink@1.0.1 +-- clone@1.0.2 +-- cson-parser@1.3.3 | `-- coffee-script@1.10.0 +-- debounce@1.0.0 | `-- date-now@1.0.1 +-- documentdb@1.9.0 +-- emmet@1.3.1 +-- event-stream@3.3.4 | +-- duplexer@0.1.1 | +-- from@0.1.3 | +-- map-stream@0.1.0 | +-- pause-stream@0.0.11 | +-- split@0.3.3 | +-- stream-combiner@0.0.4 | `-- through@2.3.8 +-- express@4.14.0 | +-- accepts@1.3.3 | | +-- mime-types@2.1.11 | | | `-- mime-db@1.23.0 | | `-- negotiator@0.6.1 | +-- array-flatten@1.1.1 | +-- content-disposition@0.5.1 | +-- content-type@1.0.2 | +-- cookie@0.3.1 | +-- cookie-signature@1.0.6 | +-- debug@2.2.0 | | `-- ms@0.7.1 | +-- depd@1.1.0 | +-- encodeurl@1.0.1 | +-- escape-html@1.0.3 | +-- etag@1.7.0 | +-- finalhandler@0.5.0 | | +-- statuses@1.3.0 | | `-- unpipe@1.0.0 | +-- fresh@0.3.0 | +-- merge-descriptors@1.0.1 | +-- methods@1.1.2 | +-- on-finished@2.3.0 | | `-- ee-first@1.1.1 | +-- parseurl@1.3.1 | +-- path-to-regexp@0.1.7 | +-- proxy-addr@1.1.2 | | +-- forwarded@0.1.0 | | `-- ipaddr.js@1.1.1 | +-- qs@6.2.0 | +-- range-parser@1.2.0 | +-- send@0.14.1 | | +-- destroy@1.0.4 | | +-- http-errors@1.5.0 | | | `-- setprototypeof@1.0.1 | | `-- mime@1.3.4 | +-- serve-static@1.11.1 | +-- type-is@1.6.13 | | `-- media-typer@0.3.0 | +-- utils-merge@1.0.0 | `-- vary@1.1.0 +-- getmac@1.0.7 | `-- extract-opts@2.2.0 | `-- typechecker@2.0.8 +-- ghooks@1.0.3 | +-- findup@0.1.5 | | +-- colors@0.6.2 | | `-- commander@2.1.0 | +-- lodash.clone@3.0.3 | | +-- lodash._baseclone@3.3.0 | | | +-- lodash._arraycopy@3.0.0 | | | +-- lodash._arrayeach@3.0.0 | | | +-- lodash._baseassign@3.2.0 | | | +-- lodash._basefor@3.0.3 | | | `-- lodash.isarray@3.0.4 | | +-- lodash._bindcallback@3.0.1 | | `-- lodash._isiterateecall@3.0.9 | +-- manage-path@2.0.0 | `-- spawn-command@0.0.2 +-- glob@5.0.15 | +-- inflight@1.0.5 | | `-- wrappy@1.0.2 | +-- inherits@2.0.1 | +-- minimatch@3.0.2 | | `-- brace-expansion@1.1.6 | | +-- balanced-match@0.4.2 | | `-- concat-map@0.0.1 | `-- once@1.3.3 +-- graceful-fs@4.1.2 +-- gulp@3.9.1 | +-- archy@1.0.0 | +-- chalk@1.1.3 | | +-- ansi-styles@2.2.1 | | +-- escape-string-regexp@1.0.5 | | +-- has-ansi@2.0.0 | | | `-- ansi-regex@2.0.0 | | +-- strip-ansi@3.0.1 | | `-- supports-color@2.0.0 | +-- deprecated@0.0.1 | +-- interpret@1.0.1 | +-- liftoff@2.3.0 | | +-- findup-sync@0.4.2 | | | +-- detect-file@0.1.0 | | | | `-- fs-exists-sync@0.1.0 | | | +-- is-glob@2.0.1 | | | `-- resolve-dir@0.1.1 | | | `-- global-modules@0.2.3 | | | +-- global-prefix@0.1.4 | | | | `-- osenv@0.1.3 | | | `-- is-windows@0.2.0 | | +-- fined@1.0.1 | | | +-- expand-tilde@1.2.2 | | | +-- lodash.assignwith@4.1.0 | | | +-- lodash.isarray@4.0.0 | | | +-- lodash.isempty@4.3.1 | | | +-- lodash.pick@4.3.0 | | | `-- parse-filepath@1.0.1 | | | +-- is-absolute@0.2.5 | | | | +-- is-relative@0.2.1 | | | | | `-- is-unc-path@0.1.1 | | | | | `-- unc-path-regex@0.1.2 | | | | `-- is-windows@0.1.1 | | | +-- map-cache@0.2.2 | | | `-- path-root@0.1.1 | | | `-- path-root-regex@0.1.2 | | +-- flagged-respawn@0.3.2 | | +-- lodash.isplainobject@4.0.5 | | +-- lodash.isstring@4.0.1 | | +-- lodash.mapvalues@4.5.1 | | `-- rechoir@0.6.2 | +-- orchestrator@0.3.7 | | +-- end-of-stream@0.1.5 | | +-- sequencify@0.0.7 | | `-- stream-consume@0.1.0 | +-- pretty-hrtime@1.0.2 | +-- tildify@1.2.0 | | `-- os-homedir@1.0.1 | +-- v8flags@2.0.11 | | `-- user-home@1.1.1 | `-- vinyl-fs@0.3.14 | +-- defaults@1.0.3 | +-- glob-stream@3.1.18 | | +-- glob@4.5.3 | | +-- minimatch@2.0.10 | | +-- ordered-read-streams@0.1.0 | | +-- through2@0.6.5 | | `-- unique-stream@1.0.0 | +-- glob-watcher@0.0.6 | | `-- gaze@0.5.2 | | `-- globule@0.1.0 | | +-- glob@3.1.21 | | | +-- graceful-fs@1.2.3 | | | `-- inherits@1.0.2 | | `-- lodash@1.0.2 | +-- graceful-fs@3.0.8 | +-- strip-bom@1.0.0 | | `-- first-chunk-stream@1.0.0 | `-- through2@0.6.5 +-- gulp-atom-electron@1.8.0 | +-- github-releases@0.2.1 | | +-- grunt@0.4.5 | | | +-- async@0.1.22 | | | +-- coffee-script@1.3.3 | | | +-- dateformat@1.0.2-1.2.3 | | | +-- eventemitter2@0.4.14 | | | +-- exit@0.1.2 | | | +-- findup-sync@0.1.3 | | | | +-- glob@3.2.11 | | | | | `-- minimatch@0.3.0 | | | | `-- lodash@2.4.2 | | | +-- getobject@0.1.0 | | | +-- glob@3.1.21 | | | | +-- graceful-fs@1.2.3 | | | | `-- inherits@1.0.2 | | | +-- grunt-legacy-log@0.1.3 | | | | +-- grunt-legacy-log-utils@0.1.1 | | | | | +-- lodash@2.4.2 | | | | | `-- underscore.string@2.3.3 | | | | +-- lodash@2.4.2 | | | | `-- underscore.string@2.3.3 | | | +-- grunt-legacy-util@0.2.0 | | | | +-- async@0.1.22 | | | | +-- lodash@0.9.2 | | | | `-- which@1.0.9 | | | +-- hooker@0.2.3 | | | +-- iconv-lite@0.2.11 | | | +-- js-yaml@2.0.5 | | | | +-- argparse@0.1.16 | | | | | +-- underscore@1.7.0 | | | | | `-- underscore.string@2.4.0 | | | | `-- esprima@1.0.4 | | | +-- lodash@0.9.2 | | | +-- nopt@1.0.10 | | | +-- rimraf@2.2.8 | | | +-- underscore.string@2.2.1 | | | `-- which@1.0.9 | | +-- minimatch@0.2.12 | | +-- optimist@0.4.0 | | `-- prettyjson@0.8.1 | | `-- colors@0.6.0-1 | +-- gulp-filter@4.0.0 | +-- progress@1.1.8 | +-- rcedit@0.3.0 | +-- temp@0.8.3 | | +-- os-tmpdir@1.0.1 | | `-- rimraf@2.2.8 | `-- vinyl@0.5.3 +-- gulp-azure-storage@0.6.0 | +-- azure-storage@0.8.0 | | +-- browserify-mime@1.2.9 | | +-- extend@1.2.1 | | +-- readable-stream@2.0.6 | | | `-- isarray@1.0.0 | | +-- request@2.57.0 | | | +-- combined-stream@1.0.5 | | | | `-- delayed-stream@1.0.0 | | | +-- forever-agent@0.6.1 | | | +-- form-data@0.2.0 | | | | +-- async@0.9.2 | | | | `-- combined-stream@0.0.7 | | | | `-- delayed-stream@0.0.5 | | | +-- hawk@2.3.1 | | | | +-- boom@2.10.1 | | | | +-- cryptiles@2.0.5 | | | | +-- hoek@2.16.3 | | | | `-- sntp@1.0.9 | | | +-- http-signature@0.11.0 | | | +-- mime-types@2.0.14 | | | | `-- mime-db@1.12.0 | | | +-- oauth-sign@0.8.2 | | | +-- qs@3.1.0 | | | `-- tunnel-agent@0.4.3 | | +-- underscore@1.4.4 | | `-- validator@3.22.2 | +-- delayed-stream@0.0.6 | +-- mime@1.3.4 | +-- optimist@0.6.1 | | `-- minimist@0.0.10 | +-- queue@3.1.0 | `-- streamifier@0.1.1 +-- gulp-bom@1.0.0 | `-- through2@2.0.1 | +-- readable-stream@2.0.6 | | `-- isarray@1.0.0 | `-- xtend@4.0.1 +-- gulp-buffer@0.0.2 | `-- through2@0.4.2 | `-- xtend@2.1.2 | `-- object-keys@0.4.0 +-- gulp-concat@2.6.0 | +-- concat-with-sourcemaps@1.0.4 | | `-- source-map@0.5.6 | `-- through2@0.6.5 +-- gulp-cssnano@2.1.2 | +-- cssnano@3.7.3 | | +-- autoprefixer@6.4.0 | | | +-- browserslist@1.3.5 | | | +-- caniuse-db@1.0.30000518 | | | +-- normalize-range@0.1.2 | | | `-- num2fraction@1.2.2 | | +-- decamelize@1.2.0 | | +-- defined@1.0.0 | | +-- indexes-of@1.0.1 | | +-- postcss@5.1.2 | | | +-- js-base64@2.1.9 | | | +-- source-map@0.5.6 | | | `-- supports-color@3.1.2 | | +-- postcss-calc@5.3.0 | | | +-- postcss-message-helpers@2.0.0 | | | `-- reduce-css-calc@1.2.4 | | | +-- balanced-match@0.1.0 | | | `-- reduce-function-call@1.0.1 | | | `-- balanced-match@0.1.0 | | +-- postcss-colormin@2.2.0 | | | `-- colormin@1.1.1 | | | +-- color@0.11.3 | | | | +-- color-convert@1.3.1 | | | | `-- color-string@0.3.0 | | | | `-- color-name@1.1.1 | | | `-- css-color-names@0.0.4 | | +-- postcss-convert-values@2.4.0 | | +-- postcss-discard-comments@2.0.4 | | +-- postcss-discard-duplicates@2.0.1 | | +-- postcss-discard-empty@2.1.0 | | +-- postcss-discard-overridden@0.1.1 | | +-- postcss-discard-unused@2.2.1 | | | +-- flatten@1.0.2 | | | `-- uniqs@2.0.0 | | +-- postcss-filter-plugins@2.0.1 | | | `-- uniqid@3.1.0 | | | `-- macaddress@0.2.8 | | +-- postcss-merge-idents@2.1.6 | | | `-- has-own@1.0.0 | | +-- postcss-merge-longhand@2.0.1 | | +-- postcss-merge-rules@2.0.10 | | | `-- vendors@1.0.0 | | +-- postcss-minify-font-values@1.0.5 | | +-- postcss-minify-gradients@1.0.3 | | +-- postcss-minify-params@1.0.4 | | | `-- alphanum-sort@1.0.2 | | +-- postcss-minify-selectors@2.0.5 | | | `-- postcss-selector-parser@2.2.0 | | | `-- uniq@1.0.1 | | +-- postcss-normalize-charset@1.1.0 | | +-- postcss-normalize-url@3.0.7 | | | +-- is-absolute-url@2.0.0 | | | `-- normalize-url@1.6.0 | | | +-- prepend-http@1.0.4 | | | +-- query-string@4.2.2 | | | | `-- strict-uri-encode@1.1.0 | | | `-- sort-keys@1.1.2 | | | `-- is-plain-obj@1.1.0 | | +-- postcss-ordered-values@2.2.1 | | +-- postcss-reduce-idents@2.3.0 | | +-- postcss-reduce-initial@1.0.0 | | +-- postcss-reduce-transforms@1.0.3 | | +-- postcss-svgo@2.1.4 | | | +-- is-svg@2.0.1 | | | | `-- html-comment-regex@1.1.1 | | | `-- svgo@0.6.6 | | | +-- coa@1.0.1 | | | | `-- q@1.4.1 | | | +-- colors@1.1.2 | | | +-- csso@2.0.0 | | | | +-- clap@1.1.1 | | | | `-- source-map@0.5.6 | | | +-- js-yaml@3.6.1 | | | | +-- argparse@1.0.7 | | | | `-- esprima@2.7.2 | | | +-- sax@1.2.1 | | | `-- whet.extend@0.9.9 | | +-- postcss-unique-selectors@2.0.2 | | +-- postcss-value-parser@3.3.0 | | `-- postcss-zindex@2.1.1 | `-- vinyl-sourcemaps-apply@0.2.1 | `-- source-map@0.5.6 +-- gulp-filter@3.0.1 | +-- multimatch@2.1.0 | | +-- array-union@1.0.2 | | `-- minimatch@3.0.2 | `-- streamfilter@1.0.5 | `-- readable-stream@2.1.4 | `-- isarray@1.0.0 +-- gulp-json-editor@2.2.1 | +-- deepmerge@0.2.10 | +-- detect-indent@2.0.0 | | +-- get-stdin@3.0.2 | | `-- repeating@1.1.3 | | `-- is-finite@1.0.1 | | `-- number-is-nan@1.0.0 | +-- js-beautify@1.5.10 | | +-- config-chain@1.1.10 | | | +-- ini@1.3.4 | | | `-- proto-list@1.2.4 | | `-- nopt@3.0.6 | `-- through2@0.5.1 | `-- xtend@3.0.0 +-- gulp-mocha@2.2.0 | +-- plur@2.1.2 | | `-- irregular-plurals@1.2.0 | `-- resolve-from@1.0.1 +-- gulp-remote-src@0.4.1 | +-- event-stream@3.1.7 | | `-- split@0.2.10 | +-- node.extend@1.1.5 | +-- request@2.58.0 | | +-- aws-sign2@0.5.0 | | +-- bl@0.9.5 | | +-- caseless@0.10.0 | | +-- combined-stream@1.0.5 | | | `-- delayed-stream@1.0.0 | | +-- extend@2.0.1 | | +-- forever-agent@0.6.1 | | +-- form-data@1.0.0-rc4 | | | `-- mime-types@2.1.11 | | +-- har-validator@1.8.0 | | | +-- bluebird@2.10.2 | | | `-- is-my-json-valid@2.13.1 | | | +-- generate-function@2.0.0 | | | +-- generate-object-property@1.2.0 | | | | `-- is-property@1.0.2 | | | `-- jsonpointer@2.0.0 | | +-- hawk@2.3.1 | | | +-- boom@2.10.1 | | | +-- cryptiles@2.0.5 | | | +-- hoek@2.16.3 | | | `-- sntp@1.0.9 | | +-- http-signature@0.11.0 | | +-- isstream@0.1.2 | | +-- mime-types@2.0.14 | | | `-- mime-db@1.12.0 | | +-- oauth-sign@0.8.2 | | +-- qs@3.1.0 | | +-- stringstream@0.0.5 | | +-- tough-cookie@2.3.1 | | `-- tunnel-agent@0.4.3 | +-- through2@0.5.1 | | `-- xtend@3.0.0 | `-- vinyl@0.2.3 +-- gulp-rename@1.2.2 +-- gulp-replace@0.5.4 | +-- istextorbinary@1.0.2 | | +-- binaryextensions@1.0.1 | | `-- textextensions@1.0.2 | +-- readable-stream@2.1.4 | | +-- buffer-shims@1.0.0 | | +-- core-util-is@1.0.2 | | +-- isarray@1.0.0 | | +-- process-nextick-args@1.0.7 | | `-- string_decoder@0.10.31 | `-- replacestream@4.0.0 | +-- object-assign@3.0.0 | `-- readable-stream@2.1.4 | `-- isarray@1.0.0 +-- gulp-shell@0.5.2 | `-- lodash@4.14.1 +-- gulp-sourcemaps@1.6.0 | +-- convert-source-map@1.3.0 | +-- strip-bom@2.0.0 | | `-- is-utf8@0.2.1 | `-- vinyl@1.2.0 +-- gulp-symdest@1.0.0 | +-- queue@3.1.0 | `-- vinyl-fs@1.0.0 | +-- duplexify@3.4.5 | | +-- end-of-stream@1.0.0 | | +-- readable-stream@2.1.4 | | | `-- isarray@1.0.0 | | `-- stream-shift@1.0.0 | +-- glob-stream@4.1.1 | | +-- glob@4.5.3 | | +-- minimatch@2.0.10 | | `-- unique-stream@2.2.1 | | +-- json-stable-stringify@1.0.1 | | | `-- jsonify@0.0.0 | | `-- through2-filter@2.0.0 | +-- glob-watcher@0.0.8 | +-- graceful-fs@3.0.8 | +-- merge-stream@0.1.8 | | `-- through2@0.6.5 | +-- object-assign@2.1.1 | +-- strip-bom@1.0.0 | `-- through2@0.6.5 +-- gulp-tsb@1.10.4 +-- gulp-tslint@4.3.5 | `-- rcloader@0.2.1 | +-- lodash.assign@4.1.0 | +-- lodash.isobject@3.0.2 | +-- lodash.merge@4.5.1 | `-- rcfinder@0.1.9 | `-- lodash.clonedeep@4.4.1 +-- gulp-uglify@1.5.4 | +-- deap@1.0.0 | +-- fancy-log@1.2.0 | | `-- time-stamp@1.0.1 | +-- isobject@2.0.0 | | `-- isarray@0.0.1 | +-- uglify-js@2.6.4 | | +-- async@0.2.10 | | +-- source-map@0.5.6 | | `-- yargs@3.10.0 | | +-- camelcase@1.2.1 | | +-- cliui@2.1.0 | | | +-- center-align@0.1.3 | | | | +-- align-text@0.1.4 | | | | | `-- longest@1.0.1 | | | | `-- lazy-cache@1.0.4 | | | +-- right-align@0.1.3 | | | `-- wordwrap@0.0.2 | | `-- window-size@0.1.0 | `-- uglify-save-license@0.4.1 +-- gulp-util@3.0.7 | +-- array-differ@1.0.0 | +-- array-uniq@1.0.3 | +-- beeper@1.1.0 | +-- dateformat@1.0.12 | | +-- get-stdin@4.0.1 | | `-- meow@3.7.0 | | +-- camelcase-keys@2.1.0 | | +-- loud-rejection@1.6.0 | | | +-- currently-unhandled@0.4.1 | | | | `-- array-find-index@1.0.1 | | | `-- signal-exit@3.0.0 | | +-- map-obj@1.0.1 | | +-- normalize-package-data@2.3.5 | | | +-- hosted-git-info@2.1.5 | | | +-- is-builtin-module@1.0.0 | | | | `-- builtin-modules@1.1.1 | | | `-- validate-npm-package-license@3.0.1 | | | +-- spdx-correct@1.0.2 | | | | `-- spdx-license-ids@1.2.2 | | | `-- spdx-expression-parse@1.0.2 | | | `-- spdx-exceptions@1.0.5 | | +-- read-pkg-up@1.0.1 | | | +-- find-up@1.1.2 | | | | `-- path-exists@2.1.0 | | | `-- read-pkg@1.1.0 | | | +-- load-json-file@1.1.0 | | | | +-- parse-json@2.2.0 | | | | | `-- error-ex@1.3.0 | | | | | `-- is-arrayish@0.2.1 | | | | `-- pify@2.3.0 | | | `-- path-type@1.1.0 | | +-- redent@1.0.0 | | | +-- indent-string@2.1.0 | | | | `-- repeating@2.0.1 | | | `-- strip-indent@1.0.1 | | `-- trim-newlines@1.0.0 | +-- gulplog@1.0.0 | | `-- glogg@1.0.0 | +-- has-gulplog@0.1.0 | | `-- sparkles@1.0.0 | +-- lodash._reescape@3.0.0 | +-- lodash._reevaluate@3.0.0 | +-- lodash._reinterpolate@3.0.0 | +-- lodash.template@3.6.2 | | +-- lodash._basecopy@3.0.1 | | +-- lodash._basetostring@3.0.1 | | +-- lodash._basevalues@3.0.0 | | +-- lodash.escape@3.2.0 | | | `-- lodash._root@3.0.1 | | +-- lodash.keys@3.1.2 | | | +-- lodash._getnative@3.9.1 | | | `-- lodash.isarguments@3.0.9 | | +-- lodash.restparam@3.6.1 | | `-- lodash.templatesettings@3.1.1 | +-- multipipe@0.1.2 | | `-- duplexer2@0.0.2 | | `-- readable-stream@1.1.14 | +-- object-assign@3.0.0 | +-- replace-ext@0.0.1 | `-- vinyl@0.5.3 +-- gulp-vinyl-zip@1.2.2 | +-- queue@3.1.0 | +-- through2@0.6.5 | `-- yazl@2.4.1 | `-- buffer-crc32@0.2.5 +-- gulp-watch@4.3.6 | +-- glob@5.0.15 | | `-- minimatch@3.0.2 | +-- glob2base@0.0.12 | | `-- find-index@0.1.1 | +-- readable-stream@2.1.4 | | `-- isarray@1.0.0 | +-- vinyl@0.5.3 | `-- vinyl-file@1.3.0 | +-- strip-bom-stream@1.0.0 | `-- vinyl@1.2.0 +-- http-proxy-agent@0.2.7 | +-- agent-base@1.0.2 | `-- extend@3.0.0 +-- https-proxy-agent@0.3.6 +-- iconv-lite@0.4.13 +-- innosetup-compiler@5.5.62 +-- is@3.1.0 +-- istanbul@0.3.22 | +-- abbrev@1.0.9 | +-- escodegen@1.7.1 | | +-- esprima@1.2.5 | | +-- estraverse@1.9.3 | | +-- esutils@2.0.2 | | +-- optionator@0.5.0 | | | +-- deep-is@0.1.3 | | | +-- fast-levenshtein@1.0.7 | | | +-- levn@0.2.5 | | | +-- prelude-ls@1.1.2 | | | `-- type-check@0.3.2 | | `-- source-map@0.2.0 | +-- esprima@2.5.0 | +-- fileset@0.2.1 | | `-- minimatch@2.0.10 | +-- handlebars@4.0.5 | | +-- optimist@0.6.1 | | | `-- minimist@0.0.10 | | `-- uglify-js@2.7.0 | | +-- async@0.2.10 | | `-- source-map@0.5.6 | +-- js-yaml@3.6.1 | | +-- argparse@1.0.7 | | `-- esprima@2.7.2 | +-- nopt@3.0.6 | +-- resolve@1.1.7 | +-- supports-color@3.1.2 | | `-- has-flag@1.0.0 | +-- which@1.2.10 | | `-- isexe@1.1.2 | `-- wordwrap@1.0.0 +-- jsdom-no-contextify@3.1.0 | +-- browser-request@0.3.3 | +-- cssom@0.3.1 | +-- cssstyle@0.2.36 | +-- htmlparser2@3.9.1 | | +-- domelementtype@1.3.0 | | +-- domhandler@2.3.0 | | +-- domutils@1.5.1 | | | `-- dom-serializer@0.1.0 | | | `-- domelementtype@1.1.3 | | +-- entities@1.1.1 | | `-- readable-stream@2.1.4 | | `-- isarray@1.0.0 | +-- nwmatcher@1.3.8 | +-- parse5@1.5.1 | +-- request@2.74.0 | | +-- aws-sign2@0.6.0 | | +-- aws4@1.4.1 | | +-- bl@1.1.2 | | | `-- readable-stream@2.0.6 | | | `-- isarray@1.0.0 | | +-- caseless@0.11.0 | | +-- combined-stream@1.0.5 | | | `-- delayed-stream@1.0.0 | | +-- forever-agent@0.6.1 | | +-- form-data@1.0.0-rc4 | | +-- har-validator@2.0.6 | | | +-- commander@2.9.0 | | | `-- pinkie-promise@2.0.1 | | | `-- pinkie@2.0.4 | | +-- hawk@3.1.3 | | | +-- boom@2.10.1 | | | +-- cryptiles@2.0.5 | | | +-- hoek@2.16.3 | | | `-- sntp@1.0.9 | | +-- http-signature@1.1.1 | | | +-- assert-plus@0.2.0 | | | +-- jsprim@1.3.0 | | | | +-- extsprintf@1.0.2 | | | | +-- json-schema@0.2.2 | | | | `-- verror@1.3.6 | | | `-- sshpk@1.9.2 | | | +-- asn1@0.2.3 | | | +-- assert-plus@1.0.0 | | | +-- dashdash@1.14.0 | | | | `-- assert-plus@1.0.0 | | | +-- ecc-jsbn@0.1.1 | | | +-- getpass@0.1.6 | | | | `-- assert-plus@1.0.0 | | | +-- jodid25519@1.0.2 | | | +-- jsbn@0.1.0 | | | `-- tweetnacl@0.13.3 | | +-- is-typedarray@1.0.0 | | +-- oauth-sign@0.8.2 | | +-- qs@6.2.1 | | `-- tunnel-agent@0.4.3 | +-- xml-name-validator@1.0.0 | `-- xmlhttprequest@1.8.0 +-- lazy.js@0.4.2 +-- mime@1.2.11 +-- minimatch@0.2.14 | +-- lru-cache@2.7.3 | `-- sigmund@1.0.1 +-- minimist@1.2.0 +-- mkdirp@0.5.1 | `-- minimist@0.0.8 +-- mocha@2.5.3 | +-- commander@2.3.0 | +-- diff@1.4.0 | +-- escape-string-regexp@1.0.2 | +-- glob@3.2.11 | | `-- minimatch@0.3.0 | +-- growl@1.9.2 | +-- jade@0.26.3 | | +-- commander@0.6.1 | | `-- mkdirp@0.3.0 | +-- supports-color@1.2.0 | `-- to-iso-string@0.0.2 +-- native-keymap@0.1.2 +-- object-assign@4.1.0 +-- optimist@0.3.5 | `-- wordwrap@0.0.3 +-- plist@1.2.0 | +-- base64-js@0.0.8 | +-- util-deprecate@1.0.2 | +-- xmlbuilder@4.0.0 | | `-- lodash@3.10.1 | `-- xmldom@0.1.22 +-- pty.js@0.3.0 | +-- extend@1.2.1 | `-- nan@2.2.1 +-- queue@3.0.6 +-- rimraf@2.5.4 | `-- glob@7.0.5 | +-- fs.realpath@1.0.0 | `-- minimatch@3.0.2 +-- sax@1.1.2 +-- semver@4.3.6 +-- sinon@1.17.5 | +-- formatio@1.1.1 | +-- lolex@1.3.2 | +-- samsam@1.1.2 | `-- util@0.10.3 +-- source-map@0.4.4 | `-- amdefine@1.0.0 +-- tslint@3.14.0 | +-- colors@1.1.2 | +-- diff@2.2.3 | +-- findup-sync@0.3.0 | +-- glob@7.0.5 | +-- optimist@0.6.1 | | `-- minimist@0.0.10 | `-- underscore.string@3.3.4 | `-- sprintf-js@1.0.3 +-- typescript@1.8.10 +-- uglify-js@2.4.8 | +-- async@0.2.10 | +-- source-map@0.1.43 | `-- uglify-to-browserify@1.0.2 +-- underscore@1.8.3 +-- vinyl@0.4.6 | +-- clone@0.2.0 | `-- clone-stats@0.0.1 +-- vscode-debugprotocol@1.11.0 +-- vscode-nls-dev@1.1.0 | +-- glob@6.0.4 | | `-- minimatch@3.0.2 | +-- source-map@0.5.6 | +-- vinyl@1.2.0 | `-- yargs@3.32.0 | +-- camelcase@2.1.1 | +-- cliui@3.2.0 | | `-- wrap-ansi@2.0.0 | +-- os-locale@1.4.0 | | `-- lcid@1.0.0 | | `-- invert-kv@1.0.0 | +-- string-width@1.0.1 | | +-- code-point-at@1.0.0 | | `-- is-fullwidth-code-point@1.0.0 | +-- window-size@0.1.4 | `-- y18n@3.2.1 +-- vscode-textmate@2.0.1 | `-- oniguruma@6.0.1 +-- windows-mutex@0.2.0 | `-- bindings@1.2.1 +-- winreg@1.2.0 +-- xterm@1.0.0 (git+https://github.com/sourcelair/xterm.js.git#65b2be78315e0c83defb7d8358eb0282a18024a0) `-- yauzl@2.3.1 +-- fd-slicer@1.0.1 `-- pend@1.2.0 npm ERR! Windows_NT 10.0.10586 npm ERR! argv "P:\\nodejs\\node.exe" "P:\\nodejs\\node_modules\\npm\\bin\\npm-cli.js" "install" npm ERR! node v6.2.2 npm ERR! npm v3.9.5 npm ERR! code ELIFECYCLE npm ERR! fsevents@0.3.8 install: `node-gyp rebuild` npm ERR! Exit status 1 npm ERR! npm ERR! Failed at the fsevents@0.3.8 install script 'node-gyp rebuild'. npm ERR! Make sure you have the latest version of node.js and npm installed. npm ERR! If you do, this is most likely a problem with the fsevents package, npm ERR! not with npm itself. npm ERR! Tell the author that this fails on your system: npm ERR! node-gyp rebuild npm ERR! You can get information on how to open an issue for this project with: npm ERR! npm bugs fsevents npm ERR! Or if that isn't available, you can get their info via: npm ERR! npm owner ls fsevents npm ERR! There is likely additional logging output above. npm ERR! Please include the following file with any support request: npm ERR! X:\Programmation\NodeJS\vscode\npm-debug.log ```

  [refack: fold the console output]

bpasero commented 8 years ago

Ping, any update?

bnoordhuis commented 8 years ago

@bpasero If fsevents is in optionalDependencies, I think it should Just Work(TM). Speaking with both my fsevents and node-gyp maintainer hats on.

bpasero commented 8 years ago

@bnoordhuis we use npm-shrinkwrap and so fsevents will be compiled even if it is a optional dependency. I think https://github.com/npm/npm/issues/12698 is the root cause of that.

AaronNGray commented 8 years ago

Can someone fix this issue ASAP !

khowling commented 8 years ago

+1 same issue with npm 3.10.3

symbyte commented 7 years ago

Happening for me as well on Windows 8.1 and npm version 3.10.9. Any updates on this?

robertlagrant commented 7 years ago

I'm getting this on Windows 7, npm 5.0.3.

KhalilMohammad commented 7 years ago

Same issue on Windows 10, npm 5.0.3

gibfahn commented 7 years ago

This is an npm bug, node-gyp fails to compile fsevents on Windows because it should only be installed on macOS. There is nothing node-gyp can do to fix it. optionalDependencies shouldn't be installed on windows if they're mac specific.

@bpasero mentioned that https://github.com/npm/npm/issues/12698 might be the cause of the bug, please see that issue, or raise/find a newer one on https://github.com/npm/npm/ if there's a new issue with npm5.

vietquocnguyen commented 7 years ago

Is there a work around @gibfahn ?

refack commented 7 years ago

@bpasero mentioned that npm/npm#12698 might be the cause of the bug, please see that issue, or raise/find a newer one on https://github.com/npm/npm/ if there's a new issue with npm5.

Vote on https://github.com/npm/npm/issues/16810

refack commented 7 years ago

Possible workaround run npm i --no-optional

ravi005e commented 6 years ago

still an issue, with latest npm

npm -v 5.6.0

ManfredLange commented 4 years ago

AttributeError: 'MSVSProject' object has no attribute 'items'

And again a problem with node-gyp 5.0.5 in this env:

Update: Upgrading to node-gyp 6.1.0 didn't help. It still uses node-gyp 5.0.5

This workaround worked for me, and maybe useful to others, too.

cclauss commented 4 years ago

Does the error message say items or iteritems?

ManfredLange commented 4 years ago

The error message is:

AttributeError: 'MSVSProject' object has no attribute 'items'

Note that in the screenshot it says node-gyp 5.05. However, version 6.1.0 is installed globally....

image

Update: Meanwhile I cannot reproduce the problem anymore. I do not know what change made this work. I no longer need the workaround (locking fsevents to particular version) anymore either.

ghost commented 4 years ago

I have exactly same issue now. Node: 12.15.0 Npm: 6.13.4 Windows: 10 image

liuliangsir commented 4 years ago

@cclauss The error message says iteritems. Here are a bunch of screenshots.

A list of globally installed packages

image

npm install

image

After setting node_gyp in ~/.npmrc configuration file

image

cclauss commented 4 years ago

node-gyp is v3, not v7 Node Saas is history so please use Dart Saas instead.

linonetwo commented 3 years ago

Wow its 2021, I'm having this now, win10

 File "E:\repo\TiddlyGit-Desktop\node_modules\node-gyp\gyp\pylib\gyp\generator\msvs.py", line 1827, in _DictsToFolders
    for folder, contents in bucket.items():
AttributeError: 'MSVSProject' object has no attribute 'items'
× Preparing native dependencies: 0 / 1

An unhandled error has occurred inside Forge:
node-gyp failed to rebuild 'E:\repo\TiddlyGit-Desktop\node_modules\watchpack-chokidar2\node_modules\fsevents'
PS E:\repo\TiddlyGit-Desktop> npm ls fsevents
tiddly-git@0.3.6 E:\repo\TiddlyGit-Desktop
├─┬ @electron-forge/plugin-webpack@6.0.0-beta.54
│ └─┬ webpack@4.44.2
│   └─┬ watchpack@1.7.5
│     └─┬ watchpack-chokidar2@2.0.1
│       └─┬ chokidar@2.1.8
│         └── fsevents@1.2.13
└─┬ chokidar@3.5.1
  └── fsevents@2.3.2

PS E:\repo\TiddlyGit-Desktop> npm ls node-gyp
tiddly-git@0.3.6 E:\repo\TiddlyGit-Desktop
└─┬ @electron-forge/cli@6.0.0-beta.54
  └─┬ @electron-forge/core@6.0.0-beta.54
    └─┬ electron-rebuild@2.3.4
      └── node-gyp@7.1.2

PS E:\repo\TiddlyGit-Desktop> npm -v
7.6.0
PS E:\repo\TiddlyGit-Desktop> node -v
v15.11.0
linonetwo commented 3 years ago

npm i --no-optional solves this

cclauss commented 3 years ago

Fascinating that Windows processes are trying to install the macOS-only https://www.npmjs.com/package/fsevents

This is noted in the original post at the top of this issue.