NPM install fails with node-gyp

Solution 1:

The error messages have caused confusion for me and have not helped me in resolving the errors completely.

The README.md for node-gyp project does a better job of listing down the installation instructions for Unix, Max OS X and Windows.

In Windows systems you can either go with Option 1 or Option 2 but the main thing is that you need to install the Visual C++ Build Tools.

The following quote is from the Windows installation section:

  • On Windows:
    • Visual C++ Build Environment:
      • Option 1: Install Visual C++ Build Tools using the Default Install option.
      • Option 2: Install Visual Studio 2015 (or modify an existing installation) and select Common Tools for Visual C++ during setup. This also works with the free Community and Express for Desktop editions.

      [Windows Vista / 7 only] requires .NET Framework 4.5.1
    • Install Python 2.7 (v3.x.x is not supported), and run
      npm config set python python2.7
      (or see below for further instructions on specifying the proper Python version and path.)
    • Launch cmd,
      npm config set msvs_version 2015

If the above steps didn't work for you, please visit Microsoft's Node.js Guidelines for Windows for additional tips.

Common instructions for Python configuration:

If you have multiple Python versions installed, you can identify which Python version node-gyp uses by setting the '--python' variable:

$ node-gyp --python /path/to/python2.7

If node-gyp is called by way of npm and you have multiple versions of Python installed, then you can set npm's 'python' config key to the appropriate value:

$ npm config set python /path/to/executable/python2.7

Successfully configured my system following the above instructions.

System Info

λ ver

Microsoft Windows [Version 6.1.7601]

λ node -v
v6.2.0
λ npm -v
3.9.2

Links to relevant tools / articles:

Visual C++ Build Tools

Visual Studio 2015

.NET Framework 4.5.1

Python 2.7

Microsoft's Node.js Guidelines for Windows

Solution 2:

Try to install again with --force option:

npm install --force

If this doesn't work try to update npm globally:

npm update -g npm 

and try again with the --force option.