npm install -g karma安装不了可执行文件

6

我似乎安装了Karma,但是它不在/usr/local/bin/中,并且bash找不到它。

你有什么想法是出了什么问题,如何解决?

这是安装结束时的消息:

> ws@0.4.31安装 /usr/local/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: 完成 CXX(target) Release/obj.target/validation/src/validation.o SOLINK_MODULE(target) Release/validation.node SOLINK_MODULE(target) Release/validation.node: 完成 karma@0.11.12 /usr/local/lib/node_modules/karma ├── di@0.0.1 ├── graceful-fs@2.0.1 ├── rimraf@2.2.5 ├── colors@0.6.2 ├── mime@1.2.11 ├── q@0.9.7 ├── coffee-script@1.6.3 ├── lodash@2.4.1 ├── glob@3.2.7 (inherits@2.0.1) ├── minimatch@0.2.14 (sigmund@1.0.0, lru-cache@2.5.0) ├── optimist@0.6.0 (wordwrap@0.0.2, minimist@0.0.5) ├── source-map@0.1.31 (amdefine@0.1.0) ├── log4js@0.6.9 (semver@1.1.4, async@0.1.15, readable-stream@1.0.17) ├── useragent@2.0.7 (lru-cache@2.2.4) ├── http-proxy@0.10.3 (pkginfo@0.2.3, optimist@0.3.7, utile@0.1.7) ├── chokidar@0.8.1 ├── connect@2.12.0 (uid2@0.0.3, methods@0.1.0, pause@0.0.1, cookie-signature@1.0.1, fresh@0.2.0, qs@0.6.6, debug@0.7.4, bytes@0.2.1, raw-body@1.1.2, buffer-crc32@0.2.1, batch@0.5.0, cookie@0.1.0, negotiator@0.3.0, send@0.1.4, multiparty@2.2.0) └── socket.io@0.9.16 (base64id@0.1.0, policyfile@0.0.4, redis@0.7.3, socket.io-client@0.9.16)

这可能是 https://dev59.com/N2Mm5IYBdhLWcg3wVdt5 的重复,但那里的答案并没有解决我的问题。然而,@spawnedc的答案对我有用。 - Doug
2个回答

7
您可以自己进行链接。例如:
#Assuming that /usr/local/bin is in your PATH
cd /usr/local/bin
ln -s /usr/local/lib/node_modules/karma/bin/karma

显然,这不是一个理想的解决方案。我认为karma的package.json存在问题,阻止了npm创建到可执行文件的链接。可能与这个有关。


1
似乎npm将所有安装的二进制文件放在文件夹<npm-global-prefix>/bin中,因此要使这些二进制文件在shell中可用,您可以将以下行添加到shell启动脚本中(例如~/.profile~/.bash_profile~/.bash_aliases):
export PATH=`npm prefix -g`/bin:$PATH

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接