Macos 已安装karma时找不到karma命令

Macos 已安装karma时找不到karma命令,macos,node.js,terminal,karma-runner,Macos,Node.js,Terminal,Karma Runner,我使用node.js安装karma。在终端上运行以下命令时,我的第一次尝试失败: 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_mo

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

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配置文件时:

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

尝试重新安装node.js。有很多方法可以安装它,但我建议从


如果这不起作用,您可以尝试重新安装karma。

在您的
~/.bash\u配置文件中(或类似配置文件)修改您的
路径以包含npm安装的二进制文件:

export PATH="$PATH:/usr/local/share/npm/bin"
我也遇到了同样的问题,并且发现这个解决方案比完全重新安装节点更省时、更有效

编辑这也适用于
bash\u档案中的其他人

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

不需要完全卸载node.js

只是

然后
安装node.js

然后
重新安装karma

这对我很有效。

只需转到test.sh:

查找:
$BASE\u DIR/。/node\u modules/karma/bin/karma start$BASE\u DIR/。/config/karma.conf.js$*

替换为:
/usr/local/bin/karma start$BASE\u DIR/。/config/karma.conf.js$*


或者:
karma start$BASE\u DIR/./config/karma.conf.js$*
我必须添加
export PATH=“$PATH”:/usr/local/lib/node\u modules/npm/node\u modules/karma/bin
在安装karma with
sudo npm install karma
之后

希望这能有所帮助。

在回答OP最初的问题时给出了答案,但我会把它再次放在这里,以防有人错过它

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

npm install -g karma-cli
轰。现在您已经安装了karma命令行。就像咕噜一样



编辑:请别忘了投赞成票,他直接在原始帖子上发表了评论,但实际上并没有“回答”这个问题。

我也面临着同样的问题。看起来karma for command line是一个单独的包,可以通过


npm安装-g karma cli

建议使用命令行界面()安装karma,该界面将负责获取适当的karma。您还可以针对正在处理的每个项目安装不同的本地版本,karma cli将选择适当的版本

从karma页面:

键入/node\u modules/karma/bin/karma start很糟糕,因此您可能会发现全局安装karma cli很有用:

npm install -g karma-cli
现在,通过键入以下内容检查karma是否已安装:

karma start
您还可以通过转到以下目录检查karma是否已安装:

cd /usr/local/lib/node_modules/karma

祝你好运

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

你可以把它拿回来

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

它显然不在你的道路上,用
确认哪个业力
。我曾经体验过npm将东西安装到默认不在路径中的位置,我认为是在Arch上。我不记得它去了哪里,不过很抱歉:(ps你可以做
cd/;find | grep karma
来获取系统上文件名或路径中包含karma的所有文件名我运行了这个命令,这就是我得到的。但是不确定它的意思:
用法:find[-H |-L |-P][EXdsx][f path]path…[表达式]find[-H |-L |-P][-EXdsx][f path]f path[路径…][表达式]
好的,很抱歉,你的
查找程序的行为与我的程序不同。无论如何,你需要找到npm在哪里安装了东西,并确保该文件夹已添加到你的终端会话路径中。FWIW在我的Linux Mint安装中,
npm-g
将东西放入
/usr/local/bin
我有相同的问题。没有任何建议/answers提供了帮助。命令行界面在一个单独的软件包中。要安装此软件,请使用:
npm install-g karma cli
我最初是通过自制软件安装node的。我解除了node的链接,然后从网站下载了node.js。安装了pkg文件,现在一切似乎都正常运行。谢谢!我必须使用:
导出路径=“$PATH:/usr/local/lib/node_modules/karma/bin”
中的“
。/bash_profile
。无法决定是确保karma在我的路径中还是完全重新安装node…+1无法使其工作。这是全局安装还是karma,对吗?@grant抱歉,您无法使其工作(以及响应延迟)。是的,它与karma的全局安装一起使用。如果您使用oh my zsh在~/.zshrcf中编辑任何人的信息:我还必须将karma cli添加到我的package.json中,以便它可以在Circle CI上运行。请记住,
-g
需要sudo权限,因此它应该是
sudo npm install-g karma cli
;)
cd node_modules/.bin
ln -s ../karma/bin/karma karma