開発ツール

パッケージマネージャ

中級

読み方:パッケージマネージャ|英語:Package Manager

ライブラリのインストール・更新・削除を管理するツール。npm, yarn, pnpm などがある。

やさしい説明

パッケージマネージャとは、ライブラリ(パッケージ)のインストール・更新・削除を自動で管理するツールです。

たとえば「日付を扱う便利なライブラリを使いたい」というとき、昔はWebサイトからファイルをダウンロードして手動で配置する必要がありました。パッケージマネージャを使えば、コマンド1つで自動的にインストールできます。

JavaScriptでは npm・yarn・pnpm の3つが主流です。どれを使っても基本的な機能は同じなので、プロジェクトで決められたものを使いましょう。

npm・yarn・pnpm の比較

  • npm:Node.jsに最初から入っているので追加インストール不要。最もよく使われる。npm install
  • yarn:Facebook(Meta)が開発。npmより高速でキャッシュ効率が良い。yarn add
  • pnpm:ディスクの使用量が少ない。大きなプロジェクトやモノレポに向いている。pnpm add

初心者は npm から始めるのがおすすめです。

基本的なコマンド

# パッケージをインストール
npm install パッケージ名
yarn add パッケージ名

# 開発用パッケージをインストール(本番には含まない)
npm install --save-dev パッケージ名
yarn add --dev パッケージ名

# package.json に書かれた全パッケージを一括インストール
npm install
yarn

# パッケージを削除
npm uninstall パッケージ名
yarn remove パッケージ名

# パッケージを更新
npm update
yarn upgrade

package.json と lockfile

  • package.json:プロジェクトが使っているパッケージとバージョン範囲を記録するファイル。npm install パッケージ名 すると自動で追記される
  • package-lock.json(lockfile):インストールした正確なバージョンを記録するファイル。これをGitで管理することで、チーム全員・本番環境で全く同じバージョンを使える

💡 lockfileはgitで管理しよう

package-lock.jsonyarn.lock は必ずGitにコミットしましょう。これがあることで「自分のPCでは動いたのに本番では動かない」問題を防げます。

間違いやすいポイント

❌ npm と yarn と pnpm を1つのプロジェクトで混在させる

lockfileが複数できて競合します。1プロジェクトで使うパッケージマネージャは1つに統一しましょう。

関連用語

  • ターミナル — パッケージマネージャのコマンドを実行する場所

関連ブログ記事

❓ 関連するQ&A