npm在Windows上安装jsdom错误?

时间:2012-04-02 02:45:32

标签: node.js npm jsdom

我在windows pc上安装了nodejs。它工作正常。但是当我尝试使用jsdom时 “npm install jsdom”这个错误引发了我的提示。

  

节点“C:\ Program   文件\的NodeJS \ node_modules \故宫\ BIN \节点GYP斌\ .... \ node_modules \节点GYP \ BIN \节点gyp.js”   重建信息吧   如果它以ok结束工作   呃!错误:似乎没有安装Python   在failNoPython(C:\ Program   文件\的NodeJS \ node_modules \ NPM \ node_modules \节点-GYP \ lib中\ configure.js:78:14)   在Object.oncomplete(C:\ Program   文件\的NodeJS \ node_modules \ NPM \ node_modules \节点-GYP \ lib中\ configure.js:66:11)   呃!不行   npm WARN可选依赖失败,继续contextify@0.1.2
  jsdom@0.2.13 ./node_modules/jsdom
  + - cssom@0.2.3 + - htmlparser@1.7.5

有人可以帮我解决这个问题吗?

7 个答案:

答案 0 :(得分:14)

我在Windows 7(x64 Ultimate)上遇到了同样的问题,经过数小时的搜索和试用,我就是这样解决的。请按照相同的顺序执行以下步骤:

  1. 安装Visual Studio 2010/2012 C ++(Express或更高版本)
  2. 安装Windows SDK 7.1
  3. 安装“Windows SDK 7.1的Microsoft Visual C ++ 2010 Service Pack 1编译器更新”
  4. 安装GTK(C:\ GTK)
  5. 安装Python(C:\ Python27)
  6. 安装node.js(x86)
  7. 将[node.js]添加到路径(C:\ Program Files(x86)\ nodejs \;)
  8. 将[python]添加到路径(C:\ Python27 \;)
  9. 将[GTK]添加到路径(C:\ GTK \ bin;)
  10. 添加[WindowsSDKDir]系统变量,指向“C:\ Program Files \ Microsoft SDKs \ Windows \ v7.1 \ Bin”
  11. 以管理员身份运行“Windows SDK 7.1命令提示符”
  12. 使用“setenv / x86”
  13. 将环境设置为x86
  14. 将目录更改为“C:\ Program Files(x86)\ nodejs \”
  15. 运行“npm install -g npm”
  16. 运行“npm update -g npm”
  17. 运行“npm install -g node-gyp”
  18. 运行“node-gyp configure build”
  19. 运行“npm install jsdom”
  20. 运行“npm install ajax”
  21. 运行“npm install http-server”
  22. 运行“npm install jquery”
  23. 运行“npm install xmlhttprequest”
  24. 运行“npm update”
  25. 我希望这会有所帮助。

答案 1 :(得分:3)

有一个很好的指南让JSDom在Windows上运行:http://www.steveworkman.com/node-js/2012/installing-jsdom-on-windows/

答案 2 :(得分:1)

jsdom依赖于contextify,它最近才支持windows。你需要python和C ++编译器来安装它。

您可能还需要执行以下操作

npm install -g node-gyp
node-gyp configure

答案 3 :(得分:1)

对于Windows 8 64位,安装zmq和protobuf,以下内容对我有用:

首先,安装Visual Studio 2012

然后,在命令提示符下(在项目目录中):

SET VisualStudioVersion=11.0
npm install zmq
npm install protobuf
npm install jsdom

答案 4 :(得分:1)

jsdom使用contextify在DOM上运行JavaScript。 contextify需要本机C ++编译器。根据{{​​3}},在Windows平台上,必须安装:

  1. 适用于Windows的x86版本的Node.js的最新副本,而不是x64版本。 (默认情况下应该没问题)
  2. Visual C ++ 2010 Express的副本。 (或任何更新的版本)
  3. Python 2.7的副本,安装在C:\Python27的默认位置。

答案 5 :(得分:0)

如果已经安装了python,则需要将python安装目录添加到 PATH 环境变量中。

假设 python.exe 位于C:\Python32\目录中,在DOS提示符下需要输入:

set PATH=%PATH%;C:\Python32\;

然后:

node-gyp configure

如果没有 错误,

应该可以正常工作。

答案 6 :(得分:0)

在解决了这个问题差不多半年之后,阅读了与此相关的所有论坛,我终于找到了解决方案。

在我的案例中,我所做的很简单,因为我不会在这台电脑上使用很多应用程序。

我的Windows 8.1安装了许多程序,可能会混淆NodeJS(Frameworks,VS插件等)。

所以我只是这样做了:

  • 从MS中删除了我安装过的所有程序。
  • 已卸载 Nodejs
  • 我确定使用CCleaner
  • 清理了注册表
  • 删除了与Node.js相关的Python,Node-gyp和其他应用程序

然后我重新安装了对JSdom乐观的Node.js,它正确安装,但在运行我的项目时崩溃了。所以我搜索了新的错误 - 再次 - 有一个简单的解决方案。 我必须安装较旧版本的JSdom。

npm install jsdom@4.2.0

最后,一切正常。希望能帮助任何人解决这个问题。