web-dev-qa-db-ja.com

vspmアップデート3でnpmインストールがエラーC2373で失敗する

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
40
Beat

このエラーは、npmnode-gyp、およびVisual Studio 2015との関係にとどまり、[email protected]ですでに修正されていますが、npmはまだ古いバージョンを指しています。回避策として、これを提案できます。

  1. Npmがインストールされているフォルダーに移動します。例:C:\Program Files\nodejs\node_modules\npm

  2. 開く:package.json

  3. bundleDependenciesnode-gypのエントリを削除します

  4. dependencies3.4.0node-gypにバージョン番号をバンプします

  5. このディレクトリにnpm iを作成して[email protected]をインストールし、問題を修正します

関連するGitHubの問題は次の場所にあります。

  1. nodejs/node#7286
  2. nodejs/node-gyp#956
  3. npm/npm#13199
  4. npm/npm#132
61
Beat

または、npmを更新します。

npm install npm -g
18
Mikalai

npmインストールの混乱を伴わない代替ソリューションは、実行することです

SET CL=-DDELAYIMP_INSECURE_WRITABLE_HOOKS %CL%

npm installを実行する前に

16
Loghorn