Can not install node-gyp

2019-08-11 17:37发布

I can't install node-gyp in Windows 7. After many searches and trying many suggestions, I use (+), use npm install no-gyp-xml-stream. and in cmd (run as admin) this errors occurred:

gyp ERR! build error
gyp ERR! stack Error: `C:\Program Files (x86)\Microsoft Visual Studio\2017\Enter
prise\MSBuild\15.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:262:23)
gyp ERR! stack     at ChildProcess.emit (events.js:189:13)
gyp ERR! stack     at Process.ChildProcess._handle.onexit (internal/child_proces
s.js:248:12)
gyp ERR! System Windows_NT 6.1.7601
gyp ERR! command "C:\\Program Files\\nodejs\\node.exe" "C:\\Program Files\\nodej
s\\node_modules\\npm\\node_modules\\node-gyp\\bin\\node-gyp.js" "rebuild"
gyp ERR! cwd C:\Program Files\nodejs\node_modules\local-npm\node_modules\leveldo
wn
gyp ERR! node -v v10.15.3
gyp ERR! node-gyp -v v3.8.0
gyp ERR! not ok
npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR! leveldown@1.7.2 install: `prebuild-install || node-gyp rebuild`
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the leveldown@1.7.2 install script.
npm ERR! This is probably not a problem with npm. There is likely additional log
ging output above.

npm ERR! A complete log of this run can be found in:
npm ERR! C:\Users\h.mohammdi\AppData\Roaming\npm-cache\_logs\2019-05-07T06_2
8_59_501Z-debug.log

I check to sure C:\Program Files (x86)\Microsoft Visual Studio\2017\Enter prise\MSBuild\15.0\Bin\MSBuild.exe is existed. How can I install node-gyp to install local-npm? thanks...

2条回答
狗以群分
2楼-- · 2019-08-11 18:15

You could use Node 11, not yet Node 12 as node-gyp will fail with v12

查看更多
狗以群分
3楼-- · 2019-08-11 18:22

From node-gyp documentation:

  1. First install Microsoft's windows-build-tools using npm install --global --production windows-build-tools from PowerShell or CMD.exe (run as Administrator)
  2. Install it globally using npm install -g node-gyp
查看更多
登录 后发表回答