グローバルインストール vs ローカルインストール:混乱しないためのルールと実践例

Node.jsやnpmでのパッケージ管理において、よく話題になる「グローバルインストール」と「ローカルインストール」の違い。初心者が混乱しやすいこの2つの使い分けには、明確なルールがあります。この記事では、それぞれのインストール方法の特徴や違い、混乱を避けるための判断基準、そして実践的な活用例を詳しく解説します。

グローバルインストールとローカルインストールの違いとは?

npm install には2つの主要な使い方があります。

グローバルインストール(-g オプション付き)

npm install -g eslint
  • 特徴:どのプロジェクトからでも使えるように、OS全体にインストールされます。
  • 用途:コマンドラインツールやCLI系のユーティリティ(例:eslintvitenpm-check-updates)など、どこからでも呼び出す必要があるものに最適。

ローカルインストール(カレントディレクトリに)

npm install eslint --save-dev
  • 特徴:プロジェクトの node_modules フォルダにのみインストールされます。
  • 用途:そのプロジェクト内だけで使用するライブラリや開発ツールに使用(例:reacttailwindcsswebpackなど)。

どちらを使うべき?判断ルール4つ

  1. CLIツールかどうか?
    • ✅ CLIツール(例:eslint) → グローバルでもOK(ただし後述の理由でローカル推奨)
    • ✅ ライブラリ(例:lodashaxios) → ローカル一択
  2. プロジェクトごとにバージョンを管理したいか?
    • ✔ プロジェクト依存のバージョンを固定したいならローカル
    • ❌ グローバルにすると他のプロジェクトとバージョン競合が起きやすい
  3. CI/CDやチーム開発で使うか?
    • ✅ 再現性が必要 → ローカル
    • グローバル依存はGitに残らないためチーム開発では非推奨
  4. npxで代替できるか?
    • npx eslint のように、一時的にパッケージを実行できるため、グローバルインストールせずに済むことも多い

実践例:eslintを使った違いの比較

パターン① グローバルインストール

npm install -g eslint
eslint src/index.js
  • ❌ 他の人の環境にeslintが入っていないと動かない
  • ❌ プロジェクトにeslintのバージョン情報が残らない

パターン② ローカルインストール+npx

npm install --save-dev eslint
npx eslint src/index.js
  • package.json に記録され、再現性が高い
  • ✅ CI/CDでも動作保証される

注意点:同名コマンドの競合に注意

たとえば、グローバルとローカルの両方に eslint を入れていると、どちらのバージョンが使われるかは以下のような順序になります:

  1. node_modules/.bin/eslint
  2. 環境変数 PATH に登録されているグローバルの eslint

解決策としては、**常にnpx eslint**と書くようにしておくと、ローカル版が優先されます。


まとめ1:グローバル vs ローカルの使い分けルール

  • CLIツールでもできるだけローカルにして、npxで実行するのが基本
  • ✅ チーム開発・CI/CDではローカル以外はNG
  • ✅ グローバルは、個人でよく使うCLIツールだけにとどめよう

明確なルールを持つことで、環境依存のトラブルを防ぎ、プロジェクトの再現性・保守性を高めることができます。


まとめ2:グローバルとローカルの違いを理解してトラブルを防ごう

npmのインストール方式を正しく使い分けることで、開発効率とプロジェクトの安定性が大きく変わります。「なぜ動かない?」を防ぐためにも、原則はローカルインストール&npx実行。これを基本に据えておけば、今後のプロジェクト管理も格段にスムーズになります。

Contact

ウェブサイトの制作や運用に関わる
お悩みやご相談
お気軽にお問い合わせ下さい

ウェブサイトと一口に言っても、企業サイトやECサイト、ブログ、SNSなど、その“カタチ”は目的に応じてさまざまであり、構築方法や使用する技術も大きく異なります。株式会社コナックスでは、お客様のご要望やブランドの個性を丁寧に汲み取り、最適なウェブサイトの“カタチ”をご提案いたします。

デザイン、ユーザビリティ、SEO対策はもちろん、コンテンツ制作やマーケティング戦略に至るまで、あらゆるフェーズでお客様のビジネスに寄り添い、成果につながるウェブサイトづくりをサポートいたします。私たちは、ウェブサイトの公開をゴールではなくスタートと捉え、お客様のビジネスの成功に向けて共に伴走してまいります。