I have installed nodejs on my windows pc. And it was working fine. But when I tried to install jsdom using
"npm install jsdom" I was prompoted by this error.
node "C:\Program
Files\nodejs\node_modules\npm\bin\node-gyp-bin\....\node_modules\node-gyp\bin\node-gyp.js"
rebuild info it
worked if it ends with ok
ERR! Error: Python does not seem to be installed
at failNoPython (C:\Program
Files\nodejs\node_modules\npm\node_modules\node-gyp\lib\configure.js:78:14)
at Object.oncomplete (C:\Program
Files\nodejs\node_modules\npm\node_modules\node-gyp\lib\configure.js:66:11)
ERR! not ok
npm WARN optional dependency failed, continuing contextify@0.1.2
jsdom@0.2.13 ./node_modules/jsdom
+-- cssom@0.2.3 +-- htmlparser@1.7.5
Can anyone help me regarding this problem?
I had the same issue on Windows 7 (x64 Ultimate), after hours of search and trials, here is how I resolved it. Please follow the steps in the same exact order:
- Install Visual Studio 2010/2012 C++ (Express or higher)
- Install Windows SDK 7.1
- Install "Microsoft Visual C++ 2010 Service Pack 1 Compiler Update for the Windows SDK 7.1"
- Install GTK (C:\GTK)
- Install Python (C:\Python27)
- Install node.js (x86)
- Add [node.js] to path (C:\Program Files (x86)\nodejs\;)
- Add [python] to path (C:\Python27\;)
- Add [GTK] to path (C:\GTK\bin;)
- Add [WindowsSDKDir] System Variable pointing to "C:\Program Files\Microsoft SDKs\Windows\v7.1\Bin"
- Run "Windows SDK 7.1 Command Prompt" as Administrator
- Set environment to x86 using "setenv /x86"
- Change directory to "C:\Program Files (x86)\nodejs\"
- Run "npm install -g npm"
- Run "npm update -g npm"
- Run "npm install -g node-gyp"
- Run "node-gyp configure build"
- Run "npm install jsdom"
- Run "npm install ajax"
- Run "npm install http-server"
- Run "npm install jquery"
- Run "npm install xmlhttprequest"
- Run "npm update"
I hope this helps.
There is a nice guide to getting JSDom working on Windows here: http://www.steveworkman.com/node-js/2012/installing-jsdom-on-windows/
jsdom has a dependency on contextify, which only recently supports windows. You'll need python and a C++ compiler to install it.
You may also need to do the following
npm install -g node-gyp
node-gyp configure
For windows 8 64-bit, installing zmq and protobuf, the following worked for me:
First, Install Visual Studio 2012
Then, on the command prompt (in your project directory):
SET VisualStudioVersion=11.0
npm install zmq
npm install protobuf
npm install jsdom
jsdom
uses contextify
for running JavaScript on the DOM. And contextify
requires native C++ compiler. According to the official readme, on Windows platform, one has to install:
- A recent copy of the x86 version of Node.js for Windows, not the x64 version. (should be okay by default)
- A copy of Visual C++ 2010 Express. (or any newer version)
- A copy of Python 2.7, installed in the default location of
C:\Python27
.
If you have python installed already, you would need to add the python install directory to the PATH environment variable.
Assuming that python.exe is in the C:\Python32\
directory, on the DOS prompt you need to type:
set PATH=%PATH%;C:\Python32\;
and then:
node-gyp configure
should work fine without that error.
After almost a half year of solving this issue, reading all forums related to this, I finally found the solution.
What I did was simple in my case because I don't use many apps on this computer.
My Windows 8.1 had many programs installed which confused the NodeJS probably (Frameworks, VS addons, etc.).
So I simply did this:
- Removed all programs from MS, that I installed once.
- Uninstalled Nodejs
- For sure I cleaned the registry with CCleaner
- Removed Python, Node-gyp and other apps related to Node.js
Then I reinstalled Node.js with optimism for JSdom which installed correctly, but crashed while running my project. So I searched for the new error which - again - has a simple solution. I had to install an older version of JSdom.
npm install jsdom@4.2.0
Finally, everything works. Hope that helps anyone with this issue.