インストール
スタンドアロンスクリプトを使用する
Node.js がインストールされていない場合でも、次のスクリプトを使用して pnpm をインストールできます。
Windows の場合
PowerShell を使用:
iwr https://get.pnpm.io/install.ps1 -useb | iex
POSIX システムの場合
curl -fsSL https://get.pnpm.io/install.sh | sh -
curlがインストールされていない場合は、wgetを使用します。
wget -qO- https://get.pnpm.io/install.sh | sh -
Alpine Linux の場合
# bash
wget -qO- https://get.pnpm.io/install.sh | ENV="$HOME/.bashrc" SHELL="$(which bash)" bash -
# sh
wget -qO- https://get.pnpm.io/install.sh | ENV="$HOME/.shrc" SHELL="$(which sh)" sh -
# dash
wget -qO- https://get.pnpm.io/install.sh | ENV="$HOME/.dashrc" SHELL="$(which dash)" dash -
前提条件
スタンドアロン スクリプトを使用して pnpm をインストールしない場合は、システムに Node.js (少なくとも v14) をインストールする必要があります。
特定のバージョンのインストール
インストール スクリプトを実行する前に、オプションで環境変数 PNPM_VERSION
を設定して、pnpm の特定のバージョンをインストールできます。
curl -fsSL https://get.pnpm.io/install.sh | env PNPM_VERSION=<version> sh -
pnpm env コマンドを使用して Node.js をインストールできるようになります。
Corepack を使用する
Node.jsではv16.13以降、パッケージマネージャーを管理するために Corepackの提供を始めました。 これは実験的な機能であるため、次のコマンドを実行して有効にする必要があります。
corepack enable
Homebrew を使用して Node.js をインストールした場合は、corepack を個別にインストールする必要があります。
brew install corepack
これにより、システムにpnpmが自動的にインストールされます。 ただし、おそらくpnpmの最新バージョンではないでしょう。 アップグレードするには、 最新のpnpmバージョン を確認し、次のコマンドを実行します。
corepack prepare pnpm@<version> --activate
Node.js v16.17 以降では、latest
タグを指定することで、最新バージョンの pnpm をインストールできます。
corepack prepare pnpm@latest --activate
npm を使用する
npm install -g pnpm
Homebrew を使用する
パッケージマネージャーがインストールされている場合は、次のコマンドを使用してpnpmをインストールできます。
brew install pnpm
Scoop を使用する
Scoop がインストールされている場合は、次のコマンドを使用してpnpmをインストールできます。
scoop install nodejs-lts pnpm
CIサーバでpnpmを使いたいですか? こちらをご覧ください: 継続的インテグレーション
互換性
これまでのpnpmのバージョンと、それぞれのNode.jsのバージョンの対応状況は以下の通りです。
Node.js | pnpm 4 | pnpm 5 | pnpm 6 | pnpm 7 |
---|---|---|---|---|
Node.js 10 | ✔️ | ✔️ | ❌ | ❌ |
Node.js 12 | ✔️ | ✔️ | ✔️ | ❌ |
Node.js 14 | ✔️ | ✔️ | ✔️ | ✔️ |
Node.js 16 | ?️ | ?️ | ✔️ | ✔️ |
Node.js 18 | ?️ | ?️ | ✔️ | ✔️ |
トラブルシューティング
pnpm が壊れていて、再インストールしても修正できない場合は、PATH から手動で削除する必要があるかもしれません。
pnpm install
を実行しているときに、次のエラーが発生したとしましょう。
C:\src>pnpm install
internal/modules/cjs/loader.js:883
throw err;
^
Error: Cannot find module 'C:\Users\Bence\AppData\Roaming\npm\pnpm-global\4\node_modules\pnpm\bin\pnpm.js'
←[90m at Function.Module._resolveFilename (internal/modules/cjs/loader.js:880:15)←[39m
←[90m at Function.Module._load (internal/modules/cjs/loader.js:725:27)←[39m
←[90m at Function.executeUserEntryPoint [as runMain] (internal/modules/run_main.js:72:12)←[39m
←[90m at internal/main/run_main_module.js:17:47←[39m {
code: ←[32m'MODULE_NOT_FOUND'←[39m,
requireStack: []
}
まず、 which pnpm
を実行して、pnpm がどこにあるか探してください。 Windows を使用している場合は、Git Bash で以下のコマンドを実行します。 例えば次のように、 pnpm コマンドの場所が表示されます。
$ which pnpm
/c/Program Files/nodejs/pnpm
これで、 pnpm の CLI がどこにあるかが分かりました。そのディレクトリを開き、 pnpm 関連ファイル (pnpm.cmd
、 pnpx.cmd
、 pnpm
など) を削除します。 完了したら、pnpm を再度インストールすると、期待どおりに動作するはずです。
短いエイリアスの使用
pnpm
は入力するのが難しいかもしれないので、代わりにpn
のような短いエイリアスを使うことができます。
POSIX システムでの永続的なエイリアスの追加
次の行を .bashrc
, .zshrc
, config.fish
に追加するだけです。
alias pn=pnpm
Powershell (Windows) に永続的なエイリアスを追加
管理者権限を持つ Powershell ウィンドウで、次を実行します。
notepad $profile.AllUsersAllHosts
profile.ps1
ファイルが開きますので、次のように入力します。
set-alias -name pn -value pnpm
ファイルを保存して、ウィンドウを閉じます。 エイリアスを有効にするには、開いている PowerShell ウィンドウを閉じる必要があるかもしれません。
pnpmをアンインストールする
pnpm の CLI をシステムからアンインストールしてディスクにある関連したファイルを削除する必要がある場合は、pnpm のアンインストール を参照してください。