我在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”脚本。
答案 0 :(得分:2)
确保您拥有运行node-gyp
所需的所有软件:
您可以通过环境变量配置gyp
使用的Visual Studio版本,这样您就可以避免设置--msvs_version=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安装的一部分发布,这样我们就可以永久性地解决这个问题。
随时添加您的投票: