Instalación
Usando el script autónomo
Puede instalar pnpm incluso si no tiene instalado Node.js, utilizando los siguientes scripts.
Windows
Usando PowerShell:
iwr https://get.pnpm.io/install.ps1 -useb | iex
Sistemas POSIX
curl -fsSL https://get.pnpm.io/install.sh | sh -
Si no tiene curl instalado, puede usar 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 -
Requisitos previos
If you don't use the standalone script to install pnpm, then you need to have Node.js (at least v14) to be installed on your system.
Instalación de una versión específica
Antes de ejecutar el script de instalación, puede configurar opcionalmente una variable env PNPM_VERSION
para instalar una versión específica de pnpm:
curl -fsSL https://get.pnpm.io/install.sh | env PNPM_VERSION=<version> sh -
Puede usar pnpm env para instalar Node.js.
Usando Corepack
Desde la v16.13, Node.js está distribuyendo Corepack para administrar administradores de paquetes. Esta es una función experimental, por lo que debe habilitarla ejecutando:
corepack enable
Si has instalado Node.js usando Homebrew, tendrás que instalar corepack por separado:
brew install corepack
Esto instalará automáticamente pnpm en su sistema. Sin embargo, probablemente no será la última versión de pnpm. Para actualizarlo, comprueba cuál es la última versión de pnpm y ejecuta:
corepack prepare pnpm@<version> --activate
Con Node.js v16.17 o posterior, puedes instalar la última versión
de pnpm solamente especificando la etiqueta (tag):
corepack prepare pnpm@latest --activate
Usando pnpm
npm install -g pnpm
Usando Homebrew
Si tiene instalado el administrador de paquetes, puede instalar pnpm usando el siguiente comando:
brew install pnpm
Usando Scoop
Si tienes instalado Scoop, puedes instalar pnpm utilizando el siguiente comando:
scoop install nodejs-lts pnpm
¿Quieres usar pnpm en servidores CI? Consultar: Continuous Integration.
Compatibilidad
Aquí hay una lista de versiones anteriores de nnpm con su respectiva versión soportada de 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 | ?️ | ?️ | ✔️ | ✔️ |
Resolución de problemas
Si pnpm está roto y no puedes solucionarlo reinstalando, es posible que tengas que eliminarlo manualmente del PATH.
Supongamos que tiene el siguiente error al ejecutar 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: []
}
Primero, intenta encontrar la ubicación de pnpm ejecutando: which pnpm
. Si estás en Windows, ejecuta este comando en Git Bash. Obtendrás la ubicación del comando pnpm, por ejemplo:
$ which pnpm
/c/Program Files/nodejs/pnpm
Ahora que sabes dónde está el CLI de pnpm, abre ese directorio y elimina cualquier archivo relacionado con pnpm (pnpm. md
, pnpx.cmd
, pnpm
, etc). Una vez hecho esto, instale pnpm de nuevo y debería funcionar como se esperaba.
Usando un alias más corto
pnpm
might be hard to type, so you may use a shorter alias like pn
instead.
Agregar un alias permanente en los sistemas POSIX
Simplemente escribe la siguiente línea en tu .bashrc
, .zshrc
o config.fish
:
alias pn=pnpm
Agregar un alias permanente en Powershell (Windows):
En una ventana de Powershell con derechos de administrador, ejecuta:
notepad $profile.AllUsersAllHosts
En el archivo profile.ps1
que abre, escribe:
set-alias -name pn -value pnpm
Guarda el archivo y cierra la ventana. Puede que necesites cerrar cualquier ventana de Powershell abierta para que el alias surta efecto.
Desinstalando pnpm
Si necesita eliminar el CLI pnpm de su sistema y cualquier archivo que haya escrito en su disco duro, consulta Desinstalando pnpm.