266
votes

I'm trying to use the

npm install steam

but I am getting an error saying

error

I'm not sure how to fix this and I have gotten this on two different npm module installs. I can install other modules however.

What I have tried: Install whatever dependencies it needs. (ursa, node-gyp etc) Install Visual C++ 2005. Install Visual C++ 2010. Change the enviroment variable path to /VC/ (found on another StackOverflow thread/question. Googled, googled & googled.

I also get an error trying do:

npm install ursa

The error is:

error2

16
It's not Visual Basic Express you need but Visual C++ Express. visualstudio.com/downloads/…Karl-Johan Sjögren
@Karl-JohanSjögren, sorry, I meant that. Edited.prk
Did you install it with the x64 compiler as well? The error message is hinting about ursaNative.vcxproj wanting to build for x64 but that it is an invalid platform.Karl-Johan Sjögren
@Karl-JohanSjögren, When I tried install an x64 bit version of Visual C++ 2010 I get: Please resolve the following: A newer version of Microsoft Visual C++ 2010 Redistributable has been detected on the machine.prk
Don't know anything about that error I'm afraid. But the initial problem I would think is because you don't have the x64 compiler installed.Karl-Johan Sjögren

16 Answers

672
votes

Try this from cmd line as Administrator

optional part, if you need to use a proxy:

set HTTP_PROXY=http://login:password@your-proxy-host:your-proxy-port
set HTTPS_PROXY=http://login:password@your-proxy-host:your-proxy-port

run this:

npm install -g --production windows-build-tools

No need for Visual Studio. This has what you need.

References:

https://www.npmjs.com/package/windows-build-tools
https://github.com/felixrieseberg/windows-build-tools

34
votes

I know it's a very old question, but is the first in my google search and after some time I got how to solve this.

find node on your windows with:
as @janaka-bandara suggested you can use the native
where node
if you don't have it for some reason you can install which with node
$ npm install -g which
$ which node
after cd into the directory, inside the directory cd into node_modules\npm folder and finally:
$ npm install node-gyp@latest
here worked, the answer is from this site

16
votes

It's mentioned in the Documentation clearly as below: https://github.com/nodejs/node-gyp#installation

Option 1: Install all the required tools and configurations using Microsoft's windows-build-tools using npm install --global --production windows-build-tools from an elevated PowerShell or CMD.exe (run as Administrator).

npm install --global --production windows-build-tools 
13
votes

Look at the installation instructions for node-gyp - you can't just npm install node-gyp. I see you've installed Visual C++, but there's more to it.

What version of windows do you have? If I knew that I might be able to tell you which part of the node-gyp instructions you didn't do, but check them out and you should be able to figure it out. I've gone through a bit of pain for this stuff too.

11
votes

I tried the above suggested npm install --global --production windows-build-tools but found that the installation was always hanging forever.

I managed to fix the problem by installing Node.js 8 instead of Node.js 10.

7
votes

Just to add to the above answer, anyone finding an issue of the installers taking forever, I found my issue was python, I uninstalled both my versions 3 and versions 2.

The re-ran the command in PowerShell terminal as the admin and it installed almost straight away.

npm install --global --production windows-build-tools 
4
votes

PLEASE FOLLOW THE FLOW CORRECTLY WINDOWS 10x64

  1. Powershell run as administrator
  2. npm install -g node-gyp
  3. npm install --global --production windows-build-tools
3
votes

For me worked install the component "VCBuild.exe", just dowload the wizard, install and them open the cmd again as administrator and try run again. Updated link to dowload the wizard here

1
votes

Tried npm install mongoose --msvs_version=2012, if you have multiple Visual installed, it worked for me

1
votes

The problems here are to do with the npm node-gyp module

I found the solutions offered on the build page for that project effective.

node-gyp page on github

There's a fully automatic way and a manual way.

1
votes

As Matt said (https://stackoverflow.com/a/43323045/2767413) you should install the build-tools for windows. However, I did it via cmd and got an error, although I am the administrator -

Please restart this script from an administrative PowerShell!
The build tools cannot be installed without administrative rights.
To fix, right-click on PowerShell and run "as Administrator".

I got the same error via a PowerShell.

For windows 7, the administrative PowerShell can be found under:

Control Panel -> System and Security -> Administrative Tools -> Windows PowerShell Modules

0
votes

I managed to get it working by following Option 2 on the Windows installation instructions on the following page: https://github.com/nodejs/node-gyp.

I had to close the current command line interface and reopen it after doing the installation on another one logged in as Administrator.

0
votes

For those the above answer does not work, here is another possible solution to look at.

Issue: On installing npm os-service package i was getting below error error MSB4019: The imported project "d:\M icrosoft.Cpp.Default.props" was not found. Confirm that the path in the declaration is correct

Even the installation of build tools or VS 2015 did not work for me. So I tried installing below directly via PowerShell (as admin)

https://chocolatey.org/packages/visualcpp-build-tools/14.0.25420.1 Command: choco install visualcpp-build-tools --version 14.0.25420.1

Once this was installed, set an environment variable VCTargetsPath=C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\v140

Then installation of the package worked perfectly fine after these.

0
votes

i know this is old, i actually just had the same issue. i was able to solve it by running npm install -g node-gyp and fixed! npm

-1
votes

npm install --global windows-build-tools

just run this command via powershell (right click and run as administrator!)

worked for me..

-5
votes

1)install "lite server" and then try below command :
npm run lite