¿Qué es pnpm?
pnpm es un administrador de paquetes de Nodejs, como lo es npm. Solo que pnpm es mucho más rapido en cuanto a administrar modulos se refiere y consume mucho menos espacio que npm al usar otra estructura de carpetas y como estas se relacionan.
Adicionalmente tambien soporta monorepos, y es muy facil empezar a utilizarlo.
Instalación de pnpm
puees instarlo con npx:
Pero si ya tienes Nodejs instalado, puedes usar corepack es una herramienta que ya esta incluida en Node:
corepack enable
Una vez activado tambien puedes actualizar pnpm a la ultima version, con el siguiente comando:
corepack prepare pnpm@latest --activate
Version de pnpm
pnpm --version
Comandos de pnpm
pnpm init
add
Para añadir paquetes puedes usar:
pnpm express mongoose
pnpm install
pnpm install
pnpm i
Instalar Modulos globalmente
pnpm add -g npm-check-updates
Probablemente necesites ejecutar este comando primero cuando intente instalar globalmente:
pnpm setup
Eliminar Paquetes
pnpm remove <MODULENAME>
Ejecutar Scripts (pnpm run)
En en el caso de los scripts de npm, simplemente puede ir en el package.json
y escribirlos como siempre.
Y para ejecutarlos puedes seguir usando el comando de npm
o los comandos de pnpm
:
pnpm dev
pnpm start
pnpm build
El comando de pnpm para ejecutar los scripts es
pnpm run TuScript
, solo que posee una abreviacion sin la necesidad de la palabrarun
Migrar a pnpm
Si tienes cualquier prouecto que hace uso de npm, y quieres cambiarlo a pnpm, solo se debe convertir el archivo package-lock.json
a pnpm-lock.yaml
, usando el siguiente comando:
pnpm import
npx en pnpm
En node existe un comando llamado npx, el cual permite instalar programas sin la necesidad de instalarlos globalmente, y tambien permite ejecutar scripts locales.
Para esto pnpm, tiene dos comandos:
- pnpm exec, permite ejecutar scripts locales de tu proyecto, por ejemplo:
pnpm exec jest
o simplementepnpm jest
- pnpm dlx, permite descargar un paquete y ejecutarlo como un comando, por ejemplo:
pnpm dlx create-react-app myapp
opnpm create vite
pnpm exec
por ejemplo para ejecutar el compilador de Typescript:
pnpm add typescript -D
pnpm exec tsc --init # seria equivalente a npx tsc --init
pnpm create
Actualmente tambien hay un comando de npm llamado create
, el cual es un sinonimo de npm init
, y que es usado por ejemplo en herramientas comovite
, en pnpm, el comando es el mismo:
pnpm create vite
https://stackoverflow.com/questions/57133219/what-is-npm-create-command