已安装业力时找不到业力命令


69

我使用node.js安装业力。在终端上运行以下命令时,我的第一次尝试失败:

npm install -g karma

失败了,所以我决定使用:

sudo npm install -g karma

输入密码后,它似乎可以正确安装。我正在粘贴安装输出的一部分,也许对某人有意义,并且与我的问题有关。在所有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)

然后,当我尝试运行以下命令以使用此命令创建业力配置文件时:

karma init karma.config.js

这是返回的消息:

-bash: karma: command not found

我之前曾用sudo尝试过相同的命令,但得到的结果相同。

有谁知道发生了什么吗?任何帮助表示赞赏。

*更新!我决定检查位于/usr/local/share/npm/lib/node_modules/karma/node_modules/socket.io/node_modules/socket.io-client/node_modules/ws中的名为builderror.log的文件

它显示了以下内容:

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

1
显然不在您的路上,请通过进行确认which karma。我认为我在Arch上经历过npm将东西安装到默认路径下的情况。我不记得抱歉了,它去了哪里:( ps,您可以执行以下操作:cd /; find|grep karma在文件名或路径中使用业力获取系统上的所有文件名
柏拉图

我运行了命令,这就是我得到的。不知道是什么意思: usage: find [-H | -L | -P] [-EXdsx] [-f path] path ... [expression] find [-H | -L | -P] [-EXdsx] -f path [path ...] [expression]
iChido

好,抱歉,您的find程序的行为与我的不同。无论如何,您将需要查找npm的安装位置,并确保将该文件夹添加到终端会话的路径中。我的Linux Mint安装上的FWIW,npm -g放东西/usr/local/bin
柏拉图

我有同样的问题。这些建议/答案均无济于事。
2014年

114
命令行界面在单独的程序包中。要安装此应用程序: npm install -g karma-cli
mayankcpdixit 2014年

Answers:


249

@mayankcpdixit在回答OP的原始问题时给出了答案,但是如果有人错过了,我会再把它放在这里。

您不需要卸载所有内容,如果我必须为我尝试安装的每个npm软件包手动添加一个新的路径链接,我可能会自杀。

npm install -g karma-cli

繁荣。现在,您已经安装了业力命令行。就像咕unt。


编辑:请不要忘记也赞@mayankcpdixit,他直接对原始帖子发表了评论,但实际上并没有“回答”问题。


9
请记住,这-g需要sudo权限,所以应该是sudo npm install -g karma-cli;)
sol4me 2015年

37

在您的~/.bash_profile(或类似的)修订中PATH,包括npm安装的二进制文件:

export PATH="$PATH:/usr/local/share/npm/bin"

我遇到了同样的问题,并且发现此解决方案比完全重新安装节点要省时,省力。

编辑这也为其他人工作bash_profile

export PATH="$PATH:/usr/local/lib/node_modules/karma/bin" 

9
我不得不使用: export PATH="$PATH:/usr/local/lib/node_modules/karma/bin"~/.bash_profile
杰森·沙

1
无法确定是要确保Karma在我的身边,还是要完全重新安装Node ... +1
Matt Jensen 2014年

无法解决这个问题。这是与全局安装还是业力,对吗?
授予

@grant,对不起,您无法使其正常工作(并且对于此延迟的回复)。是的,这是在全球范围内安装的业力。
Marty Cortez 2014年

1
如果您使用的是我的zsh,请在〜/
.zshrc中

14

建议安装带有命令行界面(karma-cli)的karma,它将负责获取适当的karma。您还可以为正在处理的每个项目安装不同的本地版本,而karma-cli将选择适当的版本。

从业力安装页面:

键入./node_modules/karma/bin/karma start很烂,因此您可能会发现在全局安装karma-cli很有用:

npm install -g karma-cli

现在,通过键入以下命令检查是否已安装业力:

karma start

您还可以通过以下目录检查是否已安装业力:

cd /usr/local/lib/node_modules/karma

祝好运!


2

不需要完全卸载node.js

只是

sudo rm -rf /usr/local/lib/node_modules/npm/

然后
安装node.js

然后
重新安装业力

这对我有用。


2

我必须export PATH="$PATH":/usr/local/lib/node_modules/npm/node_modules/karma/bin在安装业力后添加sudo npm install karma

希望这可以帮助。


1

只需转到test.sh:

找: $BASE_DIR/../node_modules/karma/bin/karma start $BASE_DIR/../config/karma.conf.js $*

用。。。来代替: /usr/local/bin/karma start $BASE_DIR/../config/karma.conf.js $*

要么: karma start $BASE_DIR/../config/karma.conf.js $*


1

我也面临着同样的问题。命令行的karma似乎是一个单独的软件包,可以通过以下方式安装

npm install -g karma-cli


1
对于任何人的信息:我还必须将karma-cli添加到我的package.json中,以便它可以在Circle CI上运行。
Rimian

0

从Karma 0.10升级到0.12时,指向Karma可执行文件的链接将被删除。

你可以用

cd node_modules/.bin
ln -s ../karma/bin/karma karma

-21

尝试重新安装node.js。有很多安装方法,但是我建议从nodejs.org下载

如果这不起作用,则可以尝试重新安装业力。


我最初是通过自制软件安装的。我取消链接节点,然后从网站下载了node.js。安装了pkg文件,现在一切似乎都可以正常工作。谢谢!
iChido
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.