corepackでpnpmを管理する方法|corepack enable・prepareの使い方とNode.js 25の変更【2026年】

corepackは、pnpmやyarnといったパッケージマネージャのバージョンを固定・管理するためのツールです。Node.jsに同梱されてきたため追加インストール不要で使えてきましたが、Node.js 25以降は同梱されなくなり、別途インストールが必要になりました。よく誤解されますが、corepackが管理するのはpnpm・yarnであって、Node.js本体のバージョンではありません。この記事ではcorepack enablecorepack prepareの使い方、package.jsonでpnpmのバージョンを固定する方法、Node.js 25でのインストール方法の変更までを公式情報に沿って整理します。

まとめ:corepackとpnpm管理の要点

corepackは、プロジェクトごとに「どのpnpm/yarnのバージョンを使うか」をpackage.jsonのpackageManagerフィールドで固定し、自動で合わせてくれる仕組みです。使い始めはcorepack enableでpnpm/yarnのコマンドを有効化し、特定バージョンを使うならcorepack use pnpm@9のように指定します。注意点は2つあります。1つは、corepackはNode.js自体の切り替えはしないこと(それはnvmやVolta、miseの役割)。もう1つは、Node.js 25以降ではcorepackが同梱されなくなり、npm install -g corepackでの導入が必要になったことです。以下で定義、コマンドの使い方、pnpmのバージョン管理、Node.js 25での変更点を順に解説します。

corepackとは|pnpm・yarnのバージョンを管理するツール

corepackは、pnpmやyarnの「バージョンを管理する」ためのツールです。プロジェクトごとに使うパッケージマネージャとそのバージョンを固定でき、チーム全員が同じ版を使う状態を作れます。npmはNode.jsに常に同梱されますが、pnpmやyarnは本来別途インストールが必要でした。corepackはこのpnpm/yarnを、package.jsonの記述に従って自動的に用意します。ここで押さえておきたいのは、corepackが扱うのはあくまでパッケージマネージャであり、Node.js本体の複数バージョン切り替えはできないという点です。Node.jsの版を切り替えたい場合は、Node.js向けの高速バージョン管理ツールVoltaや、言語横断で管理するオールインワン管理ツールmiseを併用します。

corepackとNode.jsの同梱関係|Node 25以降は分離

corepackはNode.js 14.19.0以降に実験的機能として同梱されてきました。ただし2025年、Node.jsのTSC(技術運営委員会)がcorepackの同梱を停止する決議を行い、Node.js 25.0.0以降では同梱されなくなりました。Node.js 24(LTS)までは引き続き同梱されていますが実験的扱いのままです。Node.js 26系ではcorepack関連の利用でDEP0205という非推奨警告が出る場合があります。なお、これは「Node.jsへの同梱をやめる」決定であり、corepackというツール自体が廃止されたわけではありません。リポジトリはnodejs/corepackとして引き続き維持されています。

corepack enableとdisableの使い方

corepackが使える環境(Node.js 24系まで、または別途インストール済み)では、まず有効化します。

corepack enable

これでpnpmとyarnのコマンドがcorepack経由で使えるようになります。無効化したい場合は次のコマンドです。

corepack disable

無効化が必要になるのは、グローバルに別途インストールしたpnpm/yarnを優先したい場合や、corepackの自動ダウンロード確認を止めたい場合です。enable/disableはシム(中継スクリプト)の有効・無効を切り替えるだけで、ダウンロード済みのキャッシュは保持されます。

corepack prepareとuseの使い方|pnpm・yarnのバージョン指定

主力の操作がcorepack preparecorepack useです。検索でも「corepack prepare」「corepack prepare pnpm@latest –activate」での流入が多く、ここが利用者のつまずきどころです。両者の違いを押さえると迷いません。

corepack prepareで特定バージョンを準備する

corepack prepareは、指定したパッケージマネージャの特定バージョンをダウンロードして使える状態にします。--activateを付けると、そのバージョンを既定として有効化します。

corepack prepare pnpm@latest --activate
corepack prepare yarn@stable --activate

この例ではpnpmの最新版とyarnの安定版を準備しています。prepareはオフライン環境向けに事前ダウンロードしておく用途にも向きます。引数を省いてcorepack prepareだけ実行すると、package.jsonのpackageManagerで指定済みの版を準備します。一方のcorepack use pnpm@9は、準備に加えてpackage.jsonのpackageManagerフィールドへの記録までを一度に行うため、プロジェクトに固定したいときはこちらが簡単です。

packageManagerフィールドでプロジェクトに固定する

corepackが版を判断する基準は、package.jsonのpackageManagerフィールドです。ここに使うパッケージマネージャと厳密なバージョンを書いておくと、そのディレクトリではcorepackが自動的に同じ版を使います。

{
  "name": "your-project",
  "packageManager": "[email protected]"
}

このフィールドがあると、別の版でコマンドを実行しても、corepackがpackage.jsonに合わせて切り替えます。旧来の解説で見かける「.npmrcにpackage-managerと書く」という方法は誤りで、corepackが参照するのはpackage.jsonのpackageManagerです。チーム全員が同じpnpm版を使う状態は、この1行で実現できます。

pnpmのバージョン管理|確認・最新化・更新

pnpm側のバージョン操作もまとめて押さえておきます。「pnpm version」「pnpm 最新バージョン」「pnpm バージョン確認」など、版に関する検索が多く集まっています。

pnpmのバージョン確認と最新版の導入

現在のpnpmの版は次のコマンドで確認できます。

pnpm -v

最新版へ更新したいときは、corepack管理下ならcorepack use pnpm@latestでpackage.jsonごと最新に更新します。package.jsonにpackageManagerを固定している場合、その値が実際に使われる版を決めるため、確認した版と固定値が食い違っていないかをあわせて見ておくと安全です。

corepackでpnpmを更新する|「you should update pnpm with corepack」の対処

pnpmを実行した際に「you should update pnpm with corepack」と表示されることがあります。これは、現在使っているpnpmより新しい版が指定・推奨されている状態を知らせるメッセージです。対処は、package.jsonのpackageManagerを目的の版に更新するか、次のコマンドで更新します。

corepack use pnpm@latest

corepack経由で導入したpnpmは、npmで入れたグローバル版とは別管理です。両方が混在していると、どちらが使われているか分かりにくくなるため、プロジェクトではcorepackのpackageManager固定に寄せると挙動が安定します。

pnpmのインストール方法|corepack経由・各OS・Windows

pnpmの導入経路は複数あります。corepackが使える環境なら、corepack enableだけでpnpmが使えるため追加インストールは不要です。corepackを使わない、またはNode.js 25以降で同梱が無い場合は、次のいずれかを選びます。

npm install -g pnpm

npm経由はもっとも手軽ですが、版の固定はpackage.jsonのpackageManagerかcorepackに任せる方が、プロジェクト間の取り違えを防げます。WindowsではPowerShellやWSL上で同じコマンドが使え、pnpm公式のスタンドアロンインストールスクリプトも用意されています。「pnpm インストール windows」での流入が一定数あるとおり、Windows利用者はScoopやwinget、あるいはcorepack経由のいずれでも導入できます。

pnpmの基本的な使い方|install・add・update・remove

pnpm自体の基本操作も確認しておきます。npmやyarnに慣れていれば、ほぼ同じ感覚で使えます。依存をまとめて入れるなら次のコマンドです。

pnpm install

個別のパッケージ追加はpnpm add パッケージ名、更新はpnpm update パッケージ名、削除はpnpm remove パッケージ名です。pnpmは依存関係をグローバルストアにまとめ、各プロジェクトからはリンクで参照する仕組みのため、複数プロジェクトでディスク使用量を抑えられます。lockファイル(pnpm-lock.yaml)に固定された状態で再現性高く入れ直すならpnpm install --frozen-lockfileを使い、CIでの再現性を担保します。

Node.js 25以降のcorepack非同梱と移行|2026年の最新状況

2026年時点で最も影響が大きい変化が、Node.js 25からのcorepack非同梱です。これまではNode.jsを入れればcorepackコマンドが使えましたが、Node.js 25以降はコマンドが見つからない状態になります。対処はシンプルで、必要な環境に別途インストールします。

npm install -g corepack
corepack enable

影響を受けやすいのはCIやDockerイメージです。「Node.jsを入れればcorepackも入っている」前提のビルドスクリプトは、Node.js 25系以降のイメージで失敗します。Node.js 24系まではこれまで通り同梱が使えますが実験的扱いのままで、Node.js 26系ではDEP0205の非推奨警告が出ることがあります。バージョン管理にnvmやfnmを使っている場合、Nodeの版を切り替えるたびにcorepackの導入状況も変わる点に注意してください。長期的には、corepackに依存せずpnpm/yarnを直接インストールする運用へ切り替えるか、corepackを明示的にインストールする手順をプロジェクトの初期化に含めておくのが安全です。

corepackでつまずきやすい点・使わない判断

corepackは便利ですが、向かない場面もあります。導入前に次の点を確認しておくと、後戻りを避けられます。

まず、Node.js 25以降ではcorepackが同梱されないため、「環境に最初から入っている」前提のチーム手順やCIは作り直しが必要です。次に、グローバルにnpmで入れたpnpmと、corepack管理のpnpmが混在すると、実行される版が分かりにくくなります。プロジェクトではpackageManager固定に寄せ、グローバル版は使わない方針にすると安定します。また、nvmやfnmでNode.jsを切り替える運用では、切り替え先のNodeでcorepackやpnpmが未導入になることがあり、その都度の再設定が手間になります。Node.jsの版もパッケージマネージャの版もまとめて1つで管理したいなら、corepackにこだわらず言語横断のmiseNode特化のVoltaを使う方が運用が楽な場合があります。Python側で似た一括管理を求めるならuvによるバージョン管理が参考になります。

よくある質問(FAQ)

corepackとは何ですか?

pnpmやyarnのバージョンを固定・管理するNode.js付属のツールです。package.jsonのpackageManagerフィールドに従って、プロジェクトごとに正しい版のpnpm/yarnを自動で用意します。npmやNode.js本体のバージョン管理はしません。

corepack prepareとcorepack useの違いは?

corepack prepareは指定版をダウンロードして使える状態にするだけで、--activateで既定化します。corepack useは準備に加えてpackage.jsonのpackageManagerへの記録まで行うため、プロジェクトに固定したいときはuseが簡単です。

pnpmのバージョンを確認するには?

pnpm -vで確認します。package.jsonにpackageManagerを固定している場合は、その値が実際に使われる版を決めるため、表示された版と固定値が一致しているかもあわせて確認してください。

「you should update pnpm with corepack」と出たら?

現在のpnpmより新しい版が指定・推奨されている合図です。corepack use pnpm@latestを実行するか、package.jsonのpackageManagerを目的の版に書き換えると解消します。

Node.js 25以降でcorepackが使えないのはなぜ?

Node.jsのTSCが同梱停止を決議し、Node.js 25からは同梱されなくなったためです。使う場合はnpm install -g corepackで個別にインストールしてからcorepack enableを実行します。CIやDockerはこの前提で手順を見直してください。

nvmとpnpm・corepackは併用できますか?

併用できます。ただしnvmでNode.jsの版を切り替えると、切り替え先のNodeにcorepackやpnpmが入っていないことがあり、再設定が必要になる場合があります。Nodeとパッケージマネージャをまとめて固定したい場合は、VoltaやmiseのようにNode版も管理できるツールの方が手間が少ないこともあります。

関連記事

資料請求

RELATED POSTS 関連記事