Conceptos Básicos de los Gestores de Paquetes
8 ejemplos para empezar con los Gestores de Paquetes - 6 básicos y 2 intermedios.
Requisitos Previos
- Node.js 24.18.0 (LTS Activa) instalado.
- Un nuevo directorio de proyecto:
mkdir my-api && cd my-api && npm init -y. - Elige un gestor por repositorio y confirma su archivo lockfile.
Ejemplos Básicos
1. Instalar una Dependencia de Tiempo de Ejecución con npm
Añade una dependencia de producción y registra la versión exacta resuelta en package-lock.json.
npm install express@5npm install <pkg>escribe endependenciesy actualizapackage-lock.json.- npm 10+ se incluye con Node 24; no se necesita una instalación separada.
- Usa versiones mayores exactas en
package.jsoncuando necesites actualizaciones predecibles.
Relacionado: Archivos Lockfile e Instalaciones Reproducibles - instalaciones seguras para CI
2. Instalar una Dependencia de Desarrollo
Mantén las herramientas de tiempo de compilación fuera de los paquetes de producción usando --save-dev.
npm install --save-dev typescript@5.6- Las dependencias de desarrollo se omiten cuando
NODE_ENV=productiony ejecutasnpm ci --omit=dev. - TypeScript pertenece a
devDependenciespara servicios backend compilados en tiempo de compilación. - Fija la versión mayor en
package.json; deja que el lockfile fije el parche.
Relacionado: Scripts de package.json - conecta los scripts
buildytypecheck
3. Ejecutar un Paquete Único Sin Instalar
Ejecuta CLIs sin contaminar package.json usando npx.
npx --yes tsx src/index.tsnpxdescarga a una caché, ejecuta el binario y sale.--yesomite el aviso de instalación en CI y scripts.- Prefiere una devDependency cuando ejecutas la misma CLI en cada compilación.
4. Buscar Paquetes Obsoletos
Detecta la desviación entre los rangos de package.json y el registro.
npm outdated- Las columnas muestran la versión actual, la deseada (dentro del rango) y la última (puede ser un salto de versión mayor).
- Ejecútalo semanalmente en repositorios activos; combínalo con
npm auditpara correcciones de seguridad. - No hagas un
npm updatea ciegas un viernes por la tarde sin una ejecución de prueba.
Relacionado: Cadena de Suministro: npm audit y Socket - controla las actualizaciones riesgosas
5. Usar pnpm para Monorepos Eficientes en Disco
pnpm almacena los paquetes una vez en disco y los enlaza a cada proyecto a través de un almacén direccionable por contenido.
corepack enable
corepack prepare pnpm@latest --activate
pnpm init
pnpm add fastify@5- Los enlaces duros significan que 10 servicios no duplican 10 copias de
lodash. - El diseño de
node_modules/.pnpmes más estricto; es más difícil depender accidentalmente de dependencias fantasma. - Habilita
corepackpara que CI y los portátiles usen la misma versión de pnpm.
Relacionado: Workspaces y Monorepos - protocolo
workspace:*
6. Usar Yarn Berry con Zero-Installs (Opcional)
Yarn Modern (v4) soporta Plug'n'Play y cachés opcionales confirmadas para una CI rápida.
corepack enable
yarn init -2
yarn add zod- Los valores predeterminados de Berry difieren de Yarn Classic v1; lee la guía de migración antes de cambiar.
- Zero-installs intercambia el tamaño del repositorio por un
yarn installmás rápido en CI. - Adóptalo solo si el equipo se compromete a usar herramientas y documentación específicas de Yarn.
Ejemplos Intermedios
7. Forzar la Versión de Node con engines
Rechaza las instalaciones en versiones de Node no compatibles antes de sorpresas en tiempo de ejecución.
{
"engines": {
"node": ">=24.18.0 <25"
}
}# .npmrc en la raíz del repositorio
engine-strict=trueenginesdocumenta el tiempo de ejecución compatible;engine-stricthace que npm falle en caso de desajuste.- Refleja la verificación en CI con
node --versionynpm ci. - Alinéate con la política LTS de tu plataforma (Node 24 LTS Activa en 2026).
Relacionado: engines y engine-strict - aplicación local y en CI
8. Elegir npm vs pnpm vs Yarn para tu Equipo
Matriz de decisión para servicios backend de TypeScript.
| Gestor | Elige cuando | Evita cuando |
|---|---|---|
| npm | Opción predeterminada, repositorios de un solo servicio, herramientas mínimas | Monorepos masivos donde el tiempo de instalación domina |
| pnpm | Monorepos, presión de caché de disco/CI, grafo de dependencias estricto | El equipo no está dispuesto a corregir suposiciones de importación fantasma |
| Yarn Berry | Flujo de trabajo de zero-install, beneficios de PnP comprendidos | Ecosistema mixto que espera el diseño clásico de node_modules |
- Estandariza un gestor por organización o monorepo; los lockfiles mixtos rompen la CI.
- npm 10+ es excelente para la mayoría de los servicios API de Node 24.
- Revisa la elección cuando el número de workspaces exceda ~5 desplegables.
Relacionado: Mejores Prácticas de Gestores de Paquetes - política de un solo lockfile
Versiones de la pila: Esta página fue escrita para Node.js 24.18.0 (LTS Activa), npm 10+, TypeScript 5.6+, Express 5, Fastify 5 y NestJS 11.