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
此错误与npm
, node-gyp
和Visual Studio 2015
保持关联,并且已经在node-gyp@3.4.0
中node-gyp@3.4.0
,但npm
仍指向旧版本。 作为我的解决办法,我可以提出这样的build议:
-
转到安装了npm的文件夹,例如:
C:\Program Files\nodejs\node_modules\npm
-
打开:
package.json
-
在
bundleDependencies
删除node-gyp
bundleDependencies
-
对于
dependencies
node-gyp
,将版本号修改为3.4.0
-
在这个目录下
node-gyp@3.4.0
一个npm i
安装node-gyp@3.4.0
来解决这个问题
有关GitHub
问题可以在这里find:
- 的NodeJS /节点#7286
- 的NodeJS /节点-GYP#956
- NPM / NPM#13199
- NPM / NPM#13200
或更新npm:
npm install npm -g
另一个不涉及npm
安装的解决scheme就是运行
SET CL=-DDELAYIMP_INSECURE_WRITABLE_HOOKS %CL%
在运行npm install
之前