40 votes

npm install échoue avec l'erreur C2373 avec vs2015 mise à jour 3

Après la réinstallation de ma machine avec windows 10, d'établir Visual Studio 2015 j'ai rencontré cette erreur sur l'installation de mon dépôts git:

npm install d'échec sur différents projets avec:

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

61voto

Beat Points 3070

Cette erreur reste en relation avec npm, node-gyp et Visual Studio 2015 et est déjà fixé en node-gyp@3.4.0, mais npm pointe toujours à une ancienne version. Comme je l'ai solution de contournement que je peux proposer ceci:

  1. Allez dans votre dossier où mnp est installé, par exemple: C:\Program Files\nodejs\node_modules\npm

  2. Ouvert: package.json

  3. Supprimer l'entrée pour node-gyp en bundleDependencies

  4. Bump numéro de version d' 3.4.0 pour node-gyp en dependencies

  5. Faire un npm i dans ce répertoire pour installer node-gyp@3.4.0 pour résoudre le problème

Concernant l' GitHub des problèmes peuvent être trouvés ici:

  1. nodejs/node#7286
  2. nodejs/node-gyp#956
  3. mnp/mnp#13199
  4. mnp/mnp#13200

18voto

Mikalai Points 1357

Ou la mise à jour des mnp:

npm install npm -g

16voto

Loghorn Points 1340

Une autre solution qui n'implique pas de déconner avec npm installation consiste à exécuter

SET CL=-DDELAYIMP_INSECURE_WRITABLE_HOOKS %CL%

avant d'exécuter npm install

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X