インストール
前提条件
スタンドアロンのスクリプトまたは@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 -
pnpm envコマンドを使用して、Node.jsをインストールすることもできます。
Corepackの使用
v16.13以降、Node.jsはパッケージマネージャーを管理するためのCorepackを同梱しています。これは実験的な機能であるため、実行して有効にする必要があります。
pnpm envでNode.jsをインストールした場合、Corepackはシステムにインストールされません。別途インストールする必要があります。#4029を参照してください。
corepack enable pnpm
Homebrewを使用してNode.jsをインストールした場合は、corepackを別途インストールする必要があります
brew install corepack
これにより、pnpmがシステムに自動的にインストールされます。
次のコマンドを使用して、プロジェクトで使用されるpnpmのバージョンを固定できます
corepack use pnpm@latest
これにより、ローカルのpackage.jsonに"packageManager"フィールドが追加され、Corepackにそのプロジェクトで常に特定のバージョンを使用するように指示します。これは、Corepackを使用しているすべての開発者があなたと同じバージョンを使用するため、再現性が必要な場合に役立ちます。新しいバージョンのpnpmがリリースされたら、上記のコマンドを再実行できます。
npmの使用
pnpm CLIには、pnpmと@pnpm/exeの2つのパッケージがあります。
pnpmは、Node.jsが必要なpnpmの通常のバージョンです。@pnpm/exeは、Node.jsと実行可能ファイルにパッケージ化されているため、Node.jsがインストールされていないシステムで使用できます。
npm install -g pnpm
または
npm install -g @pnpm/exe
CIサーバーでpnpmを使用したいですか?参照:継続的インテグレーション。
互換性
以下は、過去のpnpmバージョンとそれぞれのNode.jsバージョンサポートのリストです。
| Node.js | pnpm 7 | pnpm 8 | pnpm 9 |
|---|---|---|---|
| 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のアンインストールを参照してください。