できない.dev

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 以降は別途インストール)。

よくある原因

  1. 未インストール: そもそも pnpm を導入していない。
  2. Corepack 未有効: Node 16.13〜24 には Corepack が同梱されるが、既定では無効で corepack enable が要る。
    Node 25 以降は同梱されなくなったため、先に npm install -g corepack で導入する。
  3. PATH 未設定: スタンドアロンスクリプトで入れた場合、PNPM_HOME を PATH に追加しないと解決されない。
  4. シェル未再読込: インストール直後に同じシェルのまま叩いていて、更新後の PATH が読まれていない。

解決策

1. Corepack を有効化する(推奨)

Corepack を有効にすると pnpm が使える(Node 25 以降は npm install -g corepack で導入してから)(Installation(新しいタブで開く))。

corepack enable pnpm
pnpm --version

package.json"packageManager": "pnpm@9.x" を書いておくと、参加者全員が同じバージョンに揃う。

2. npm でグローバルインストールする

Corepack を使わない場合の手軽な方法。

npm install -g pnpm

3. スタンドアロンスクリプトで入れる

Node 非依存で入れる場合は公式スクリプトを使い、表示される PNPM_HOME を PATH に追加する。

curl -fsSL https://get.pnpm.io/install.sh | sh -
# 出力に従い PNPM_HOME を PATH へ追加し、シェルを開き直す
exec "$SHELL"

この記事は役立ちましたか?