Instalação
Usando um script
Node.js não está preinstalado
Em sistemas POSIX, você pode instalar pnpm mesmo sem o Node.js instalado, usando o seguinte script:
curl -fsSL https://get.pnpm.io/install.sh | PNPM_VERSION=6.32.11 sh -
Se você não tiver curl instalado, poderá usar wget:
wget -qO- https://get.pnpm.io/install.sh | PNPM_VERSION=6.32.11 sh -
No Windows (PowerShell):
$env:PNPM_VERSION='6.32.11' ; iwr https://get.pnpm.io/install.ps1 -useb | iex
Então, você pode utilizar o comando pnpm env para instalar Node.js.
Node.js está preinstalado
No Linux ou macOS:
curl -f https://get.pnpm.io/v6.16.js | node - add --global pnpm@latest-6
No Windows (PowerShell):
Invoke-WebRequest 'https://get.pnpm.io/v6.16.js' -UseBasicParsing -o pnpm.js; node pnpm.js add --global pnpm@6.32.11; Remove-Item pnpm.js
O script é assinado. Veja como verificar.
Usando Homebrew
Se você tiver o Homebrew instalado, poderá instalar pnpm usando o seguinte comando:
brew install pnpm
Usando Scoop
Se você tiver Scoop instalado, poderá instalar pnpm usando o seguinte comando:
scoop install nodejs-lts pnpm
Usando Corepack
Desde a versão v16.13, Node.js inclui Corepack para controlar a instalação de gerenciadores de pacotes. Esta é uma ferramenta experimental, então você precisa habilitá-la com o seguinte comando:
corepack enable
Isso irá automaticamente instalar pnpm no seu sistema. Entretanto, provavelmente não será a versão mais recente do pnpm. Para atualizá-lo, verifique qual a última versão do pnpm e execute:
corepack prepare pnpm@6.32.11 --activate
Usando npm
npm install -g pnpm@latest-6
Usando npx
npx pnpm add -g pnpm
Atualizando
Depois de instalado o pnpm, não há necessidade de usar outros gerenciadores de pacotes para atualizá-lo. Você pode atualizar pnpm utilizando o próprio pnpm, desta forma:
pnpm add -g pnpm
Você gostaria de utilizar o pnpm em servidores de Integração Contínua (CI)? Veja: Integração Contínua.
Compatibilidade
Aqui está uma lista de versões anteriores do pnpm com suas respectivas versões do Node.js suportadas.
Node.js | pnpm 1 | pnpm 2 | pnpm 3 | pnpm 4 | pnpm 5 | pnpm 6 |
---|---|---|---|---|---|---|
Node.js 4 | ✔️ | ❌ | ❌ | ❌ | ❌ | ❌ |
Node.js 6 | ✔️ | ✔️ | ❌ | ❌ | ❌ | ❌ |
Node.js 8 | ✔️ | ✔️ | ✔️ | ❌ | ❌ | ❌ |
Node.js 10 | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | ❌ |
Node.js 12 | ❌ | ❌ | ✔️ | ✔️ | ✔️ | ✔️ |
Node.js 14 | ❌ | ❌ | ✔️ | ✔️ | ✔️ | ✔️ |
Node.js 16 | ? | ? | ?️ | ?️ | ?️ | ✔️ |
Solução de Problemas
Se o pnpm falhar, e não for resolvido por meio de uma reinstalação, você pode precisar removê-lo manualmente do PATH.
Assumindo que você têm o seguinte erro ao rodar 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: []
}
Primeiro, tente encontrar a localização do pnpm rodando: which pnpm
. Se você usar Windows, execute este comando no Git Bash. Você irá ver a localização do comando pnpm, como:
$ which pnpm
/c/Arquivos de Programas/nodejs/pnpm
Agora que você sabe onde está localizado o pnpm, abra este diretório e remova qualquer arquivo relacionado ao pnpm (pnpm.cmd
, pnpx.cmd
, pnpm
, etc). Então, instale o pnpm novamente, e ele deve funcionar como esperado.
Desinstalando o pnpm
Se você precisar remover a CLI do pnpm de seu sistema operacional, assim como quaisquer arquivos que ele tenha gravado em seu disco, consulte Desinstalando o pnpm.