Here\'s what I\'ve done so far on my x64 OS:
After spending a while to get this to work (for me accepted answer didn't work, for me it's just half solution) i did following:
Sadly, you must have visual studio (i installed express edition 2013 for DESKTOP)
Installed python 2.7.3 (you don't have to set any environment variables)
Run cmd as administrator and go to you project root (where is you package.json file)
First run: npm config set python C:\Python27\python.exe
Then: npm install -msvs_version=2013
The trick is in command npm config set python ...path_to_python_exe...
which will be provided by npm to dependency which needs python i guess. I don't know why setting python as env variable is not enough.
I had a similar problem. I found that this switch helped me
--msvs_version=2012
so for example
npm install --msvs_version=2012 <package>
For me the solution that worked with VS express was to simply install Visual Studio 2013 Express for desktop (which is the only one that gives you a developer command prompt as of 2013 version). Open developer command prompt (elevated) and run NPM install commands. This did not require any special --msvs_version
arguments, it just worked.
For me (Windows 7 64bit),
I struggled with this issue for half of a day Finally It worked.
On my way :
At control panel, I deleted all Python, Microsoft Visual Studio, Microsoft Redistributable, and something about I installed to solve this.
Window Update and restart.
Installed Python27, and Visual Studio 2013 with no setting env-val
npm install node-gyp -g
npm config set msvs_version 2013 --global
, It works.