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
4

9 に答える 9

251

@mayankcpdixitは、OP の元の質問への回答で回答を提供しましたが、誰かが見逃した場合に備えて、ここに再度掲載します。

すべてをアンインストールする必要はありません。インストールしようとするすべての npm パッケージに新しいパス リンクを手動で追加する必要がある場合は、おそらく自殺するでしょう。

npm install -g karma-cli

ブーム。これで、karma コマンド ラインがインストールされました。グラントのように。


編集: @mayankcpdixitにも賛成票を投じることを忘れないでください。彼は元の投稿に直接コメントしましたが、実際には質問に「答え」ませんでした。

于 2014-05-20T19:05:21.610 に答える
14

適切なカルマの取得を処理するコマンドライン インターフェイス ( karma-cli ) を使用してカルマをインストールすることをお勧めします。作業中の各プロジェクトに固有の異なるローカル バージョンをインストールすることもでき、karma-cli は適切なものを選択します。

カルマのインストールページから:

./node_modules/karma/bin/karma startと入力するのは面倒なので、karma-cli をグローバルにインストールすると便利な場合があります。

npm install -g karma-cli

次に、次のように入力して、カルマがインストールされたことを確認します。

karma start

次のディレクトリに移動して、カルマがインストールされたことを確認することもできます。

cd /usr/local/lib/node_modules/karma

幸運を!

于 2014-09-03T02:17:57.590 に答える
2

export PATH="$PATH":/usr/local/lib/node_modules/npm/node_modules/karma/binでカルマをインストールした後に追加する必要がありましsudo npm install karmaた。

お役に立てれば。

于 2014-04-22T15:01:30.473 に答える
2

node.js を完全にアンインストールする必要はありません

ただ

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

次に
node.jsをインストールします

次に、
カルマを再インストールします

これは私にとってはうまくいきました。

于 2014-01-22T09:29:23.397 に答える
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 $*

于 2014-02-06T14:48:17.807 に答える
-21

node.js を再インストールしてみてください。インストール方法はいろいろありますが、nodejs.orgからダウンロードすることをお勧めします。

それでもうまくいかない場合は、カルマを再インストールしてみてください。

于 2013-07-17T20:08:50.487 に答える