pnpm: command not found で pnpm コマンドが実行できない
pnpm: command not found は、未インストールか Corepack 未有効、または PNPM_HOME が PATH に無いのが原因。
Node 同梱の Corepack を有効化するのが最も手軽で再現性も高い。
#pnpm#corepack#path#command-not-found#install
公開:
要約
pnpm: command not found(zsh では zsh: command not found: pnpm)は、シェルが pnpm の実行ファイルを見つけられない状態。
未インストールか、Corepack を有効化していないか、スタンドアロン版の PNPM_HOME を PATH に通していないかのいずれか。
Node に同梱される Corepack を使うのが最も手軽で、プロジェクト間のバージョン固定もできる。
よくある原因
- 未インストール: そもそも pnpm を導入していない。
- Corepack 未有効: Node 16.13 以降は Corepack が同梱されるが、既定では無効で
corepack enableが要る。 - PATH 未設定: スタンドアロンスクリプトで入れた場合、
PNPM_HOMEを PATH に追加しないと解決されない。 - シェル未再読込: インストール直後に同じシェルのまま叩いていて、更新後の PATH が読まれていない。
解決策
1. Corepack を有効化する(推奨)
Node 同梱の Corepack を有効にすると pnpm が使える(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"