開発ツール
パッケージマネージャ
中級読み方:パッケージマネージャ|英語: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.json や yarn.lock は必ずGitにコミットしましょう。これがあることで「自分のPCでは動いたのに本番では動かない」問題を防げます。
間違いやすいポイント
❌ npm と yarn と pnpm を1つのプロジェクトで混在させる
lockfileが複数できて競合します。1プロジェクトで使うパッケージマネージャは1つに統一しましょう。
関連用語
- ターミナル — パッケージマネージャのコマンドを実行する場所