2016-07-01 20 views
38

Dopo aver reinstallato la mia macchina con Windows 10, la sua creazione con Visual Studio 2015 ho incontrato questo errore sull'installazione miei repository git:npm installa FAIL con C2373 errore con l'aggiornamento vs2015 3

npm install non riesce su diversi progetti con:

... 
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 

risposta

60

Questo errore rimane in relazione con npm, node-gyp e Visual Studio 2015 ed è già fissato in [email protected], ma npm fa ancora riferimento a una vecchia versione. Come ho workaround che posso proporre questo:

  1. Vai alla cartella in cui è installato NPM, ad esempio: C:\Program Files\nodejs\node_modules\npm

  2. Aperto: package.json

  3. Rimuovere voce per node-gyp in bundleDependencies

  4. Numero di versione dell'urto su 3.4.0 per node-gyp in dependencies

  5. Fare un npm i in questo elenco per installare [email protected] per risolvere il problema

Relative GitHub problemi può essere trovato qui:

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

Quando tu dici "Dump entry", d o intendi aggiungere o rimuovere? –

+2

Rimuovi la voce! – Beat

+0

Non l'ho rimosso, ma la correzione funzionava ancora. Devo ancora rimuoverlo? Grazie! Potresti voler modificare la formulazione della tua risposta a beneficio di tutti i madrelingua inglesi non nativi e i ditsy madrelingua inglesi. –

14

Una soluzione alternativa che non comporta scherzi con npm installazione è quello di eseguire

SET CL=-DDELAYIMP_INSECURE_WRITABLE_HOOKS %CL% 

prima di eseguire npm install

+0

questo non funziona – Mikalai

+0

Stai eseguendo il comando SET appena prima di eseguire l'installazione di npm, nella stessa istanza del prompt dei comandi? – Loghorn

+0

Sì, ho impostato la variabile CL prima di 'npm install', dopo che un altro problema era – Mikalai

18

o aggiornare NPM:

npm install npm -g 
+1

Anche se mi piace il nuovo formato di output che mi ha dato, non ha liberarsi dell'errore – Graham

+1

Questo l'ha risolto per me. – MustSeeMelons

+0

Questo finalmente lo ha risolto, grazie! – Heribert

Problemi correlati