「-g」フラグを付けてnpmを使用する必要があるのはなぜですか?


117

最近、jsパッケージ管理にnpmを使い始めました。私はさまざまな環境(apt、rvm / gem、pythonbrew / virtualenv / pipを使用すると言います)でのパッケージ管理についてはかなり理解していますが、npmがどのように完全に適合するかはよくわかりません。

「-g」フラグの仕組みと、なぜそれを使用する必要があるかについて、もっと知りたいのですが。ほとんどのブログやwikiと同様に、理由を説明せずに「-g」を使用してインストールすることを言及しており、これらのパッケージがグローバルにインストールされることを理解しています。

  • しかし、なぜこれらのパッケージを常にグローバルにインストールする必要があるのですか?
  • 「-g」フラグなしでこれらのパッケージをインストールするとはどういう意味ですか?
  • ローカルにインストールされたパッケージに対して私は何をしますか、さまざまなプロジェクトのためにサンドボックス化したとしましょう?
  • 次に、プロジェクトで使用されるnpmパッケージのリストを作成し、バージョン管理でチェックインする必要がある場合は、プロジェクトにバンドルします(可能な場合)。

回答:


122

-gこの回答で説明されているように、グローバルインストールフラグです。詳細は、このノードのブログ投稿で説明されています

経験則:

  • パッケージがコマンドラインツールを提供する場合はグローバルにインストールする
  • アプリケーションの一部としてパッケージを使用している場合は、ローカルにインストールします
  • 両方のユースケースが適用される場合は、グローバルおよびローカルにインストールします

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.