できない.dev

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 を使うのが最も手軽で、プロジェクト間のバージョン固定もできる。

よくある原因

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

解決策

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

Node 同梱の Corepack を有効にすると pnpm が使える(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"

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