当业力已经安装时,没有findkarma命令
我使用node.js来安装业力。 在terminal上运行以下命令时,我的第一次尝试失败:
npm install -g karma
那失败了,所以我决定使用:
sudo npm install -g karma
input我的密码后,似乎安装正确。 我粘贴安装的输出的一部分,也许这将意味着某人,这将是我的问题相关。 所有的npm http消息之后,我看到:
> ws@0.4.27 install /usr/local/share/npm/lib/node_modules/karma/node_modules/socket.io/node_modules/socket.io-client/node_modules/ws > (node-gyp rebuild 2> builderror.log) || (exit 0) CXX(target) Release/obj.target/bufferutil/src/bufferutil.o SOLINK_MODULE(target) Release/bufferutil.node SOLINK_MODULE(target) Release/bufferutil.node: Finished CXX(target) Release/obj.target/validation/src/validation.o SOLINK_MODULE(target) Release/validation.node SOLINK_MODULE(target) Release/validation.node: Finished /usr/local/share/npm/bin/karma -> /usr/local/share/npm/lib/node_modules/karma/bin/karma karma@0.8.6 /usr/local/share/npm/lib/node_modules/karma ├── pause@0.0.1 ├── dateformat@1.0.2-1.2.3 ├── xmlbuilder@0.4.2 ├── colors@0.6.0-1 ├── chokidar@0.6.2 ├── growly@1.1.1 ├── mime@1.2.9 ├── q@0.9.6 ├── rimraf@2.1.4 (graceful-fs@1.2.3) ├── coffee-script@1.6.3 ├── minimatch@0.2.12 (sigmund@1.0.0, lru-cache@2.3.0) ├── optimist@0.3.5 (wordwrap@0.0.2) ├── glob@3.1.21 (inherits@1.0.0, graceful-fs@1.2.3) ├── LiveScript@1.0.1 (prelude-ls@1.0.1) ├── log4js@0.6.6 (dequeue@1.0.3, semver@1.1.4, async@0.1.15, readable-stream@1.0.2) ├── lodash@1.1.1 ├── http-proxy@0.10.3 (pkginfo@0.2.3, utile@0.1.7) ├── istanbul@0.1.22 (abbrev@1.0.4, which@1.0.5, fileset@0.1.5, nopt@2.0.0, wordwrap@0.0.2, async@0.1.22, mkdirp@0.3.5, esprima@0.9.9, escodegen@0.0.24, handlebars@1.0.12) └── socket.io@0.9.16 (base64id@0.1.0, policyfile@0.0.4, redis@0.7.3, socket.io-client@0.9.16)
然后当我尝试运行以下命令来创build一个karmaconfiguration文件与此命令:
karma init karma.config.js
这是返回的消息:
-bash: karma: command not found
我之前用sudo试过同样的命令,但是得到了同样的结果。
有没有人有什么想法是怎么回事? 任何帮助表示赞赏。
*更新! 我决定检查名为builderror.log的文件:/usr/local/share/npm/lib/node_modules/karma/node_modules/socket.io/node_modules/socket.io-client/node_modules/ws
这是它显示:
gyp WARN EACCES user "root" does not have permission to access the dev dir "/Users/eperez/.node-gyp/0.10.5" gyp WARN EACCES attempting to reinstall using temporary dev dir "/usr/local/share/npm/lib/node_modules/karma/node_modules/socket.io/node_modules/socket.io-client/node_modules/ws/.node-gyp" gyp http GET http://nodejs.org/dist/v0.10.5/node-v0.10.5.tar.gz gyp http 200 http://nodejs.org/dist/v0.10.5/node-v0.10.5.tar.gz
@mayankcpdixit在回答OP的原始问题时给出了答案,但是如果有人错过了,我会再把它放在这里。
你不需要卸载所有的东西,如果我不得不手动添加一个新的path链接每个npm包,我尝试安装我可能会拍自己。
npm install -g karma-cli
繁荣。 现在你已经安装了karma命令行。 就像Grunt一样。
编辑:请不要忘记加注@mayankcpdixit ,他直接在原帖上评论,但实际上并没有“回答”这个问题。
在你的~/.bash_profile
(或类似的)中修改你的PATH
以包含npm安装的二进制文件:
export PATH="$PATH:/usr/local/share/npm/bin"
我有这个相同的问题,并发现这个解决scheme比完全重新安装节点更省时间和影响力。
编辑这也已经为bash_profile
其他人工作
export PATH="$PATH:/usr/local/lib/node_modules/karma/bin"
build议使用其命令行界面( karma-cli )来安装业力,这将负责获取适当的业力。 你也可以安装一个特定于你正在工作的每个项目的不同的本地版本,karma-cli会select合适的版本。
从业力安装页面:
键入./node_modules/karma/bin/karma开始糟透了,所以你可能会发现在全球安装karma-cli是有用的:
npm install -g karma-cli
现在,通过input:
karma start
你也可以通过转到这个目录来检查是否安装了业力。
cd /usr/local/lib/node_modules/karma
祝你好运!
不需要完全卸载node.js
只是
sudo rm -rf /usr/local/lib/node_modules/npm/
然后
安装node.js
然后
重新安装业力
这对我有效。
用sudo npm install karma
安装了karma后,我不得不添加export PATH="$PATH":/usr/local/lib/node_modules/npm/node_modules/karma/bin
。
希望这可以帮助。
只要去test.sh:
查找: $BASE_DIR/../node_modules/karma/bin/karma start $BASE_DIR/../config/karma.conf.js $*
replace为: /usr/local/bin/karma start $BASE_DIR/../config/karma.conf.js $*
或者: karma start $BASE_DIR/../config/karma.conf.js $*
我也面临同样的问题。 它看起来像命令行的业力是一个单独的包可以安装
npm install -g karma-cli
当从Karma 0.10升级到0.12时,去除了karma可执行文件的链接。
你可以把它拿回来
cd node_modules/.bin ln -s ../karma/bin/karma karma
尝试重新安装node.js. 有很多方法来安装它,但我build议从nodejs.org下载
如果这不起作用,你可能会尝试重新安装业力。