npm安装失败,错误C2373与vs2015更新3

在用Windows 10重新安装我的机器之后,使用Visual Studio 2015进行设置我在安装我的git存储库时遇到了这个错误:

npm install在不同的项目上失败:

 ... C:\Program Files\nodejs\node_modules\npm\node_modules\node-gyp\src\win_delay_load_hook.c(34): error C2373: "__pfnDliNotifyHook2": [...] gyp ERR! build error gyp ERR! stack Error: `C:\Program Files (x86)\MSBuild\14.0\bin\msbuild.exe` failed with exit code: 1 gyp ERR! stack at ChildProcess.onExit (C:\Program Files\nodejs\node_modules\npm\node_modules\node-gyp\lib\build.js:276:23) gyp ERR! stack at emitTwo (events.js:87:13) gyp ERR! stack at ChildProcess.emit (events.js:172:7) gyp ERR! stack at Process.ChildProcess._handle.onexit (internal/child_process.js:200:12) gyp ERR! System Windows_NT 10.0.10586 gyp ERR! command "C:\\Program Files\\nodejs\\node.exe" "C:\\Program Files\\nodejs\\node_modules\\npm\\node_modules\\node-gyp\\bin\\node-gyp.js" "rebuild" gyp ERR! cwd C:\Users\...\node_modules\buffertools gyp ERR! node -v v4.4.7 gyp ERR! node-gyp -v v3.3.1 gyp ERR! not ok 

此错误与npmnode-gypVisual Studio 2015保持关联,并且已经在node-gyp@3.4.0node-gyp@3.4.0 ,但npm仍指向旧版本。 作为我的解决办法,我可以提出这样的build议:

  1. 转到安装了npm的文件夹,例如: C:\Program Files\nodejs\node_modules\npm

  2. 打开: package.json

  3. bundleDependencies删除node-gyp bundleDependencies

  4. 对于dependencies node-gyp ,将版本号修改为3.4.0

  5. 在这个目录下node-gyp@3.4.0一个npm i安装node-gyp@3.4.0来解决这个问题

有关GitHub问题可以在这里find:

  1. 的NodeJS /节点#7286
  2. 的NodeJS /节点-GYP#956
  3. NPM / NPM#13199
  4. NPM / NPM#13200

或更新npm:

 npm install npm -g 

另一个不涉及npm安装的解决scheme就是运行

 SET CL=-DDELAYIMP_INSECURE_WRITABLE_HOOKS %CL% 

在运行npm install之前