メインコンテンツまでスキップ
Version: 8.x

インストール

前提条件

スタンドアロン スクリプトや@pnpm/exeを使用して pnpm をインストールしない場合は、システムに Node.js (少なくとも v16.14) をインストールする必要があります。

スタンドアロンスクリプトを使用

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_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 を使用

pnpm CLI には pnpm@pnpm/exe という 2 つのパッケージが提供されています。

  • pnpm は通常バージョンのpnpmで、これは実行にNode.jsが必要です。
  • @pnpm/exe はNode.jsと一緒に実行可能ファイルにパッケージ化されているため、Node.jsがインストールされていないシステムで使用可能です。
npm install -g pnpm

または

npm install -g @pnpm/exe

Homebrew を使用する

パッケージマネージャーがインストールされている場合は、次のコマンドを使用してpnpmをインストールできます。

brew install pnpm

wingetを使用する

wingetがインストールされている場合は、次のコマンドを使用してpnpmをインストールできます。

winget install pnpm

Scoop を使用する

Scoop がインストールされている場合は、次のコマンドを使用してpnpmをインストールできます。

scoop install nodejs-lts pnpm

Chocoの使用

Chocolatey がインストールされている場合は、次のコマンドを使用して pnpm をインストールできます。

choco install pnpm
ヒント

CIサーバでpnpmを使いたいですか? こちらをご覧ください: 継続的インテグレーション

互換性

これまでのpnpmのバージョンと、それぞれのNode.jsのバージョンの対応状況は以下の通りです。

Node.jspnpm 5pnpm 6pnpm 7pnpm 8
Node.js 12✔️✔️
Node.js 14✔️✔️✔️
Node.js 16?️✔️✔️✔️
Node.js 18?️✔️✔️✔️
Node.js 20?️?✔️✔️

トラブルシューティング

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.cmdpnpx.cmdpnpm など) を削除します。 完了したら、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 のアンインストール を参照してください。