pnpm: command not found で pnpm コマンドが実行できない
pnpm: command not found は、未インストールか Corepack 未有効、または PNPM_HOME が PATH に無いのが原因。
Corepack を有効化するのが最も手軽で再現性も高い(Node 25 以降は Corepack の別途インストールが必要)。
公開: 更新:
要約
pnpm: command not found(zsh では zsh: command not found: pnpm)は、シェルが pnpm の実行ファイルを見つけられない状態。
未インストールか、Corepack を有効化していないか、スタンドアロン版の PNPM_HOME を PATH に通していないかのいずれか。
Corepack を使うのが最も手軽で、プロジェクト間のバージョン固定もできる(Node 24 までは同梱、25 以降は別途インストール)。
よくある原因
- 未インストール: そもそも pnpm を導入していない。
- Corepack 未有効: Node 16.13〜24 には Corepack が同梱されるが、既定では無効で
corepack enableが要る。
Node 25 以降は同梱されなくなったため、先にnpm install -g corepackで導入する。 - PATH 未設定: スタンドアロンスクリプトで入れた場合、
PNPM_HOMEを PATH に追加しないと解決されない。 - シェル未再読込: インストール直後に同じシェルのまま叩いていて、更新後の PATH が読まれていない。
解決策
1. Corepack を有効化する(推奨)
Corepack を有効にすると pnpm が使える(Node 25 以降は npm install -g corepack で導入してから)(Installation(新しいタブで開く))。
corepack enable pnpm
pnpm --versionpackage.json に "packageManager": "pnpm@9.x" を書いておくと、参加者全員が同じバージョンに揃う。
2. npm でグローバルインストールする
Corepack を使わない場合の手軽な方法。
npm install -g pnpm3. スタンドアロンスクリプトで入れる
Node 非依存で入れる場合は公式スクリプトを使い、表示される PNPM_HOME を PATH に追加する。
curl -fsSL https://get.pnpm.io/install.sh | sh -
# 出力に従い PNPM_HOME を PATH へ追加し、シェルを開き直す
exec "$SHELL"