Installation
Prérequis
If you don't use the standalone script or @pnpm/exe
to install pnpm, then you need to have Node.js (at least v18.12) to be installed on your system.
En utilisant un script autonome
Vous pouvez installer pnpm même si vous n'avez pas installé Node.js, en utilisant les scripts suivants.
Sur Windows
En utilisant PowerShell:
$env:PNPM_VERSION = "10.0.0-alpha.4"; Invoke-WebRequest https://get.pnpm.io/install.ps1 -UseBasicParsing | Invoke-Expression
POSIX :
curl -fsSL https://get.pnpm.io/install.sh | env PNPM_VERSION=10.0.0-alpha.4 sh -
Si vous n'avez pas installé curl, vous pouvez utiliser wget:
wget -qO- https://get.pnpm.io/install.sh | env PNPM_VERSION=10.0.0-alpha.4 sh -
You may use the pnpm env command then to install Node.js.
In a Docker container
# 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 -
Installation d'une version spécifique
Prior to running the install script, you may optionally set an env variable PNPM_VERSION
to install a specific version of pnpm:
curl -fsSL https://get.pnpm.io/install.sh | env PNPM_VERSION=<version> sh -
En utilisant Corepack
Since v16.13, Node.js is shipping Corepack for managing package managers. Il s'agit d'une fonctionnalité expérimentale, vous devez donc l'activer en exécutant :
If you have installed Node.js with pnpm env
Corepack won't be installed on your system, you will need to install it separately. See #4029.
corepack enable pnpm
Si vous avez installé Node.js avec Homebrew, vous devrez installer corepack séparément :
brew install corepack
Cela installera automatiquement pnpm sur votre système.
Vous pouvez épingler la version de pnpm utilisée sur votre projet en utilisant la commande suivante :
corepack use pnpm@latest-10
This will add a "packageManager"
field in your local package.json
which will instruct Corepack to always use a specific version on that project. Cela peut s'avérer utile pour la reproductibilité, car tous les développeurs qui utilisent Corepack utiliseront la même version que vous. Lorsqu'une nouvelle version de pnpm est publiée, vous pouvez réexécuter la commande ci-dessus.
Using other package managers
En utilisant npm
We provide two packages of pnpm CLI, pnpm
and @pnpm/exe
.
pnpm
is an ordinary version of pnpm, which needs Node.js to run.@pnpm/exe
is packaged with Node.js into an executable, so it may be used on a system with no Node.js installed.
npm install -g pnpm@latest-10
ou
npm install -g @pnpm/exe@latest-10
En utilisant Homebrew
If you have the package manager installed, you can install pnpm using the following command:
brew install pnpm
En utilisant winget
If you have winget installed, you can install pnpm using the following command:
winget install -e --id pnpm.pnpm
En utilisant Scoop
If you have Scoop installed, you can install pnpm using the following command:
scoop install nodejs-lts pnpm
En utilisant Choco
If you have Chocolatey installed, you can install pnpm using the following command:
choco install pnpm
Using Volta
If you have Volta installed, you can install pnpm using the following command:
volta install pnpm
Voulez-vous utiliser pnpm sur des serveurs de CI ? See: Continuous Integration.
Compatibility
Here is a list of past pnpm versions with respective Node.js version support.
Node.js | pnpm 8 | pnpm 9 | pnpm 10 |
---|---|---|---|
Node.js 14 | ❌ | ❌ | ❌ |
Node.js 16 | ✔️ | ❌ | ❌ |
Node.js 18 | ✔️ | ✔️ | ✔️ |
Node.js 20 | ✔️ | ✔️ | ✔️ |
Node.js 22 | ✔️ | ✔️ | ✔️ |
Résolution de problèmes
Si pnpm ne fonctionne plus et que vous ne pouvez pas le réparer en le réinstallant, vous devrez peut-être le retirer manuellement du PATH.
Let's assume you have the following error when running 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: []
}
First, try to find the location of pnpm by running: which pnpm
. If you're on Windows, run where.exe pnpm.*
.
Vous obtiendrez l'emplacement de la commande pnpm :
$ which pnpm
/c/Program Files/nodejs/pnpm
Now that you know where the pnpm CLI is, open that directory and remove any pnpm-related files (pnpm.cmd
, pnpx.cmd
, pnpm
, etc).
Une fois terminé, réinstallez pnpm et cela devrait fonctionner comme prévu.
Using a shorter alias
pnpm
might be hard to type, so you may use a shorter alias like pn
instead.
Ajout d'un alias permanent sur les systèmes POSIX
Just put the following line to your .bashrc
, .zshrc
, or config.fish
:
alias pn=pnpm
Ajout d'un alias permanent dans Powershell (Windows):
In a Powershell window with admin rights, execute:
notepad $profile.AllUsersAllHosts
In the profile.ps1
file that opens, put:
set-alias -name pn -value pnpm
Save the file and close the window. You may need to close any open Powershell window in order for the alias to take effect.
Updating pnpm
To update pnpm, run the self-update
command:
pnpm self-update
Désinstaller pnpm
If you need to remove the pnpm CLI from your system and any files it has written to your disk, see Uninstalling pnpm.