2016-07-01 77 views
38

重新安裝我的機器上使用Windows 10,與Visual Studio 2015設置它後,我在安裝我的git倉庫遇到這個錯誤:NPM安裝失敗,錯誤C2373與vs2015更新3

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 

回答

60

此錯誤停留在關係與npmnode-gypVisual Studio 2015並已固定[email protected],但npm仍然指向舊版本。正如我解決方法,我可以提出這樣的:

  1. 轉到您的文件夾在安裝NPM,如: C:\Program Files\nodejs\node_modules\npm

  2. 公開賽:package.json

  3. bundleDependencies

  4. 刪除了 node-gyp進入
  5. 凹凸版本號爲3.4.0node-gypdependencies

  6. 做一個npm i此目錄中安裝[email protected]來解決這個問題

GitHub問題都可以在這裏找到:

  1. nodejs/node#7286
  2. nodejs/node-gyp#956
  3. npm/npm#13199
  4. npm/npm#13200
+0

當你說「轉儲條目」,d你的意思是添加或刪除? –

+2

刪除條目! – Beat

+0

我沒有刪除它,但修復仍然有效。我還需要刪除它嗎?謝謝!您可能需要更改您的回覆措辭,以便讓任何非英語母語人士和本土英語人士受益。 –

14

不涉及與npm安裝搞亂另一種解決方案是運行npm install

+0

這不起作用 – Mikalai

+0

您是否在運行npm install之前發出SET命令,在相同的命令提示符實例中? – Loghorn

+0

是的,我在'npm install'之前設置了CL變量,之後的另一個問題是 – Mikalai

18

或更新NPM之前運行

SET CL=-DDELAYIMP_INSECURE_WRITABLE_HOOKS %CL% 

npm install npm -g 
+1

儘管我喜歡這種新的輸出格式,但它並沒有擺脫錯誤。 – Graham

+1

這爲我解決了它。 – MustSeeMelons

+0

這終於解決了,謝謝! – Heribert