Marek Lisý Marek Lisý - 2 months ago 31x
Node.js Question

npm install that requires node-gyp fails on Windows

I have a NPM project that uses

, both requiring node-gyp to install them. When I do
npm install
, I get following error:

> bufferutil@1.2.1 install C:\Users\Marek\WEB\moje-skoly\web-app\node_modules\bufferutil
> node-gyp rebuild

C:\Users\Marek\WEB\moje-skoly\web-app\node_modules\bufferutil {git}{hg}
{lamb} if not defined npm_config_node_gyp (node "C:\Users\Marek\AppData\Roaming\npm\node_modules\npm\bin\node-g
yp-bin\\..\..\node_modules\node-gyp\bin\node-gyp.js" rebuild ) else (node "" rebuild )
Building the projects in this solution one at a time. To enable parallel build, please add the "/m" switch.
C:\Users\Marek\.node-gyp\5.1.1\include\node\v8.h(18): fatal error C1083: Cannot open include file: 'stddef.h':
No such file or directory [C:\Users\Marek\WEB\moje-skoly\web-app\node_modules\bufferutil\build\bufferutil.vcx
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:\Users\Marek\AppData\Roaming\npm\node_modules\npm\node_modules\nod
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:\\Users\\Marek\\AppData\\Roaming\\npm\\node_modules\\
npm\\node_modules\\node-gyp\\bin\\node-gyp.js" "rebuild"
gyp ERR! cwd C:\Users\Marek\WEB\moje-skoly\web-app\node_modules\bufferutil
gyp ERR! node -v v5.1.1
gyp ERR! node-gyp -v v3.2.1
gyp ERR! not ok
npm WARN install:bufferutil@1.2.1 bufferutil@1.2.1 install: `node-gyp rebuild`
npm WARN install:bufferutil@1.2.1 Exit status 1

Previously it failed because of Python 2.7 not installed, now it is this. It's causing me headaches. What should I do about this?


I found this brilliant solution on GitHub:

  1. Your OS MUST be Windows
  2. Check that python is in your path by writting python --version in the console. If not then
  3. Download python 2.7 (I recommend chocolatey (choco install python2 -y)) and add python.exe to your PATH variable.
  4. Aren't you on Windows 7? Skip 5 and 6.
  5. Check that you have .NET 4.5.1+ installed. If not then
  6. Download and install .NET 4.5.1 (.NET 4.5.2 will also work just fine)
  7. Download Microsoft Visual C++ Build Tools 2015 Technical Preview
  8. Use custom install. Install the Windows 8.1 SDK if you haven't already. Apparently, it doesn't matter what OS you're on. You just need the Windows 8.1 SDK.
  9. Set the npm config variable msvs_version to 2015: npm config -g set msvs_version 2015
  10. Do npm i in what-ever project with node-gyp as a dependency without seeing weird error messages

My nightmares are gone!