2014-04-09 190 views
0

我在32位Windows 7盒子上安装了nodejs和karma,并且工作正常。在64位窗口上安装nodejs/karma时遇到困难七

我现在正在建立一个64位的Windows七盒。我用“package.json”文件在目录中运行“npm install -g”。

它安装了很多软件包,但似乎在某些时候卡住了。这里是输出的结尾:

npm http 304 https://registry.npmjs.org/commander 
> [email protected] 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”脚本。

+0

你有你的机器上安装的Python?这里说'node-gyp'需要pyhton(在Windows中有更多的东西):https:// github。com/TooTallNate/node-gyp – MarcoL

+0

我从来没有安装过它。我现在试图执行“npm install -g karma”,并且它完成了,但它不会在“%HOME%\ AppData \ Roaming \ npm”中安装“业力”脚本。看着其他的笔记本电脑,它看起来像脚本非常简单,并且脚本调用的脚本(在“node_modules/karma/bin”)确实存在,所以我可以从其他笔记本电脑复制这个脚本,但我不应该不必这样做。 –

+0

其实,我意识到我必须以管理员身份运行shell,但是这并不能解决这个挂起命令。 –

回答

2

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

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

例子:

  • 设置GYP_MSVS_VERSION=2012为Visual Studio 2012
  • 设置GYP_MSVS_VERSION=2013e(在 'E' 代表 'Express版')

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

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

随意在添加您的投票: