无法在64位Windows 7上安装nodejs / karma

时间:2014-04-09 21:25:19

标签: node.js windows-7-x64 karma-runner

我在32位Windows 7盒子上安装了nodejs和karma,它运行正常。

我现在正在设置一个64位的Windows 7盒子。我用“package.json”文件在目录中运行了“npm install -g”。

它安装了很多软件包,但似乎在某些时候陷入困境。这是输出结束:

npm http 304 https://registry.npmjs.org/commander
> ws@0.4.31 install C:\Users\=myuid=\AppData\Roaming\npm\node_modules\=myuid=\node_modules\karma\node_modules\socket.io\node_modules\socket.io-client\node_modules\ws
> (node-gyp rebuild 2> builderror.log) || (exit 0)
C:\Users\=myuid=\AppData\Roaming\npm\node_modules\=myuid=\node_modules\karma\node_modules\socket.io\node_modules\socket.io-client\node_modules\ws>node "C:\Program Files\nodejs\node_modules\npm\bin\node-gyp-bin\\..\..\node_modules\node-gyp\bin\node-gyp.js" rebuild

挂在这里。

这是我的“package.json”:

{
  "name": "=myuid=",
  "version": "0.0.0",
  "description": "ERROR: No README.md file found!",
  "main": "karma.conf.js",
  "dependencies": {
"karma-firefox-launcher": "~0.1.0",
"karma-coffee-preprocessor": "~0.1.0",
"karma-phantomjs-launcher": "~0.1.0",
"karma-jasmine": "~0.1.3",
"karma": "~0.10.2",
"karma-coverage": "~0.1.0",
"karma-html2js-preprocessor": "~0.1.0",
"karma-script-launcher": "~0.1.0",
"karma-requirejs": "~0.1.0",
"karma-chrome-launcher": "~0.1.0"
  },
  "devDependencies": {},
  "scripts": {
"test": "echo \"Error: no test specified\" && exit 1"
  },
  "repository": "",
  "author": "",
  "license": "BSD"
}

这可能是什么问题?还有什么我应该在这里展示的吗?

更新

我意识到我应该采用不同的方式做一些事情,但我仍然陷入困境,尽管问题略有不同。

我忘了运行“npm install -g”需要以管理员身份运行shell,在Windows上的Cygwin bash shell中运行它可能不是一个好主意。我在管理员运行的“cmd”中重新命名“npm install -g karma --force”。这完成没有明显错误,但最后它不会在“%HOME%\ AppData \ Roaming \ npm”中安装“karma.cmd”脚本。

1 个答案:

答案 0 :(得分:2)

确保您拥有运行node-gyp所需的所有软件:

您可以通过环境变量配置gyp使用的Visual Studio版本,这样您就可以避免设置--msvs_version=2012属性。

示例:

  • 为Visual Studio 2012设置GYP_MSVS_VERSION=2012
  • 设置GYP_MSVS_VERSION=2013e('e'代表'express edition')

有关完整列表,请参阅   - https://github.com/joyent/node/blob/v0.10.29/tools/gyp/pylib/gyp/MSVSVersion.py#L209-294

对于NodeJS的Windows用户来说,这仍然很痛苦,因为它假设您安装了Visual Studio的副本,并且许多最终用户永远不会拥有此。因此,我正在游说Joyent鼓励他们将Web套接字作为CORE节点的一部分包含在内,并且可以将GNU gcc编译器作为NodeJS安装的一部分发布,这样我们就可以永久性地解决这个问题。

随时添加您的投票: