npm shrinkwrap中的fsevents(由chokidar引入)会导致Windows上的构建失败

时间:2016-07-21 19:23:28

标签: node.js npm fsevents windows-10-desktop npm-shrinkwrap

fsevents npm中列出了仅shrinkwrap的OSX,因为它由chokidar引入。我们的产品是基于Linux的,并没有造成任何麻烦,显然OSX开发人员也很好,但它在我的Win x64环境中打破了npm install

我该如何解决?

C:\Users\User\Documents\splive>npm install
(node:2888) fs: re-evaluating native module sources is not supported. If you are using the graceful-fs module, please update it to a more recent version.

> fsevents@1.0.8 install C:\Users\User\Documents\splive\node_modules\fsevents
> node-pre-gyp install --fallback-to-build

node-pre-gyp ERR! Tried to download: https://fsevents-binaries.s3-us-west-2.amazonaws.com/v1.0.8/fse-v1.0.8-node-v48-win32-x64.tar.gz
node-pre-gyp ERR! Pre-built binaries not found for fsevents@1.0.8 and node@6.3.0 (node-v48 ABI) (falling back to source compile with node-gyp)
Traceback (most recent call last):
  File "C:\Users\User\node_modules\npm\node_modules\node-gyp\gyp\gyp_main.py", line 16, in <module>
    sys.exit(gyp.script_main())
  File "C:\Users\User\node_modules\npm\node_modules\node-gyp\gyp\pylib\gyp\__init__.py", line 545, in script_main
    return main(sys.argv[1:])
  File "C:\Users\User\node_modules\npm\node_modules\node-gyp\gyp\pylib\gyp\__init__.py", line 538, in main
    return gyp_main(args)
  File "C:\Users\User\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 "C:\Users\User\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 "C:\Users\User\node_modules\npm\node_modules\node-gyp\gyp\pylib\gyp\generator\msvs.py", line 1762, in _GatherSolutionFolders
    return _DictsToFolders('', root, flat)
  File "C:\Users\User\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 (C:\Users\User\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.14388
gyp ERR! command "C:\\Program Files (x86)\\nodejs\\node.exe" "C:\\Users\\User\\node_modules\\npm\\node_modules\\node-gyp\\bin\\node-gyp.js" "configure" "--fallback-to-build" "--module=C:\\Users\\User\\Documents\\splive\\node_modules\\fsevents\\lib\\binding\\Release\\node-v48-win32-x64\\fse.node" "--module_name=fse" "--module_path=C:\\Users\\User\\Documents\\splive\\node_modules\\fsevents\\lib\\binding\\Release\\node-v48-win32-x64" "--python=C:\\Python27\\python.exe" "--msvs_version=2015"
gyp ERR! cwd C:\Users\User\Documents\splive\node_modules\fsevents
gyp ERR! node -v v6.3.0
gyp ERR! node-gyp -v v3.4.0
gyp ERR! not ok
node-pre-gyp ERR! build error
node-pre-gyp ERR! stack Error: Failed to execute 'C:\Program Files (x86)\nodejs\node.exe C:\Users\User\node_modules\npm\node_modules\node-gyp\bin\node-gyp.js configure --fallback-to-build --module=C:\Users\User\Documents\splive\node_modules\fsevents\lib\binding\Release\node-v48-win32-x64\fse.node --module_name=fse --module_path=C:\Users\User\Documents\splive\node_modules\fsevents\lib\binding\Release\node-v48-win32-x64 --python=C:\Python27\python.exe --msvs_version=2015' (1)
node-pre-gyp ERR! stack     at ChildProcess.<anonymous> (C:\Users\User\Documents\splive\node_modules\node-pre-gyp\lib\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:852: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.14388
node-pre-gyp ERR! command "C:\\Program Files (x86)\\nodejs\\node.exe" "C:\\Users\\User\\Documents\\splive\\node_modules\\node-pre-gyp\\bin\\node-pre-gyp" "install" "--fallback-to-build"
node-pre-gyp ERR! cwd C:\Users\User\Documents\splive\node_modules\fsevents
node-pre-gyp ERR! node -v v6.3.0
node-pre-gyp ERR! node-pre-gyp -v v0.6.29
node-pre-gyp ERR! not ok
Failed to execute 'C:\Program Files (x86)\nodejs\node.exe C:\Users\User\node_modules\npm\node_modules\node-gyp\bin\node-gyp.js configure --fallback-to-build --module=C:\Users\User\Documents\splive\node_modules\fsevents\lib\binding\Release\node-v48-win32-x64\fse.node --module_name=fse --module_path=C:\Users\User\Documents\splive\node_modules\fsevents\lib\binding\Release\node-v48-win32-x64 --python=C:\Python27\python.exe --msvs_version=2015' (1)
npm WARN install:fsevents@1.0.8 fsevents@1.0.8 install: `node-pre-gyp install --fallback-to-build`
npm WARN install:fsevents@1.0.8 Exit status 1

完整输出:http://pastebin.com/WNy0pmqK

有人遇到过这个吗?如何克服这个?

关于我的系统的信息:

我现在正在使用Node.js 6.4(尝试升级表格5.3以便它可能会有所帮助)。 Npm版本是3.10.5虽然我试图降级到3.3.12,因为某些npm问题提示。我在x64 Win 10 Insider最新的Slow ring build。

这可能是相关的,但没有一个解决方案有效,而且不是真的关于收缩包装:node-gyp build error windows x64

可能与git问题有关:

1 个答案:

答案 0 :(得分:0)

使用npm install --no-optional安装软件包而不将fsevents添加到shrinkwrap文件中。 (如果已经有fsevents的引用,请手动删除它们。)

我通过另一个Stack Overflow问题发现了这个选项:error fsevents@1.0.14 in windows 7