Las siglas de pnpm significan performant node package manager
, es decir, gestor de paquetes de node de alto rendimiento. Tradicionalmente, npm
siempre ha gestionado la instalación de paquetes de una forma particular, mediante la cual gasta demasiado tiempo y espacio en disco.
En el caso de pnpm, se utiliza una forma alternativa, donde se gestionan los paquetes mediante un almacén compartido, ahorrando espacio en disco y realizando una instalación de paquetes mucho más rápida.
Instalación de PNPM
Para instalar pnpm, simplemente necesitaremos tener instalado curl
en nuestro sistema (en caso contrario, ejecutamos el primer comando de los siguientes) para descargar el script de instalación de pnpm e instalarlo:
$ sudo apt install curl
$ curl -fsSL https://get.pnpm.io/install.sh | sh -
Si en la instalación nos da el error ERR_PNPM_UNKNOWN_SHELL Could not infer shell type es porque nuestra terminal no tiene establecida la terminal por defecto. Esto se puede solucionar fácilmente, escribiendo el comando
export SHELL=/bin/bash
.
Finalmente, hacemos un source ~/.bashrc
(o simplemente, cerramos y volvemos a abrir la terminal, para obligar a cargar los cambios). Si todo ha ido bien, deberíamos tener instalada la última versión de pnpm
. Lo podemos comprobar con el siguiente comando:
$ pnpm --version
Sin embargo, aún no tenemos Node instalado. Vamos a ello.
Instalación de Node con PNPM
Una vez instalado pnpm
, vamos a por la instalación de Node. Podemos ver que versiones de Node son las actuales, entrando a la web oficial de NodeJS o simplemente, ejecutando el siguiente comando en una terminal:
$ pnpm env list --remote
[...]
20.8.0
20.8.1
20.9.0
20.10.0
21.0.0
21.1.0
21.2.0
21.3.0
21.4.0
21.5.0
Observa que el parámetro --remote
es necesario para obtener las versiones disponibles desde la web de Node. Si lo omitimos, lo que obtendremos serán las versiones de node instaladas en nuestro sistema:
$ pnpm env list
Si examinas la página oficial de Node, como podrás ver, normalmente aparecen dos versiones:
- La versión estable (recomendada): También llamada LTS
- La versión experimental: Con las últimas novedades
Mi recomendación es instalar la primera de ellas. Esto puede hacerse directamente sin necesidad de ninguna comprobación de versiones, ejecutando el siguiente comando:
$ pnpm env use --global lts
Esto descargará la versión LTS de Node y la activará como versión por defecto. Puedes comprobar que todo ha ido bien, simplemente ejecutando los siguientes comandos para comprobar que Node ya está disponible en nuestro sistema.
$ node --version
$ npm --version
Si todo ha ido bien, debería darnos la versión disponible.
Cambiar versiones con PNPM
Lo que hemos visto es la versión rápida para instalar Node. Sin embargo, puede que sea posible que queramos ir cambiando de versión de Node según los proyectos en los que estemos trabajando. Para ello, podemos hacer uso de los siguientes comandos.
Por ejemplo, mediante pnpm env add --global
podemos descargarnos versiones concretas de Node. Sin embargo, sólo las descargará y no las activará para utilizar. Si queremos que también se activen, ejecutaremos el comando pnpm env use --global
. Ambos comandos, siempre seguidos de la versión a instalar:
$ pnpm env add --global 21.5.0
$ pnpm env use --global 21.5.0
Si en algún momento queremos desinstalar alguna versión de nuestro sistema, simplemente utilizaremos pnpm env remove
:
$ pnpm env remove --global 21.5.0
Con esto, deberíamos poder trabajar con node
y pnpm
en las versiones que necesitemos. A medida que transcurra el tiempo, necesitaremos actualizar pnpm
a las nuevas versiones que vayan apareciendo. Para ello, simplemente autoactualizaremos con pnpm
:
$ pnpm install -g pnpm
Esto actualizará la versión de pnpm
a la última disponible.