Compartir en Twitter
Go to Homepage

GUÍA COMPLETA DE COMANDOS NPM Y GESTIÓN CON NVM ACTUALIZADA

January 14, 2026

Introducción a npm y su importancia en el desarrollo actual

En el ecosistema de Node.js, npm representa el gestor de paquetes predeterminado y una herramienta fundamental para cualquier desarrollador que trabaje con JavaScript en el lado del servidor o en aplicaciones frontend avanzadas. Este gestor permite instalar, compartir y administrar dependencias de manera eficiente, facilitando la reutilización de código y la colaboración en proyectos de gran escala.

Con el paso de los años, npm ha evolucionado significativamente, incorporando mejoras en rendimiento, seguridad y funcionalidades que lo mantienen como la opción principal en 2026. Actualmente, la versión estable de Node.js se encuentra en la rama 24.x como LTS activa, mientras que la rama 25.x representa la versión Current con las últimas características experimentales. Entender los comandos básicos y avanzados de npm es esencial para optimizar flujos de trabajo y evitar problemas comunes en el desarrollo diario.

Esta guía detalla los comandos más utilizados, explicando su propósito, opciones comunes y mejores prácticas, todo actualizado a las recomendaciones vigentes en enero de 2026.

Inicialización de un nuevo proyecto con npm

El primer paso en cualquier proyecto Node.js suele ser la creación del archivo package.json, que actúa como manifiesto del proyecto y registra las dependencias, scripts y metadatos.

Para inicializar un nuevo proyecto, se ejecuta el siguiente comando:

npm init

Este comando lanza un asistente interactivo que pregunta por detalles como el nombre del paquete, versión, descripción, punto de entrada y autor. Para aceptar los valores predeterminados de forma rápida, se utiliza:

npm init -y

o su equivalente:

npm init --yes

El resultado es un archivo package.json básico listo para agregar dependencias. En proyectos modernos, este archivo es crucial porque herramientas como bundlers y frameworks lo utilizan para configurar entornos.

Ejemplo de package.json generado:

{
    "name": "mi-proyecto",
    "version": "1.0.0",
    "description": "",
    "main": "index.js",
    "scripts": {
        "test": "echo \"Error: no test specified\" && exit 1"
    },
    "keywords": [],
    "author": "",
    "license": "ISC"
}

Instalación de dependencias y paquetes

Uno de los comandos más frecuentes es la instalación de paquetes. Para instalar todas las dependencias listadas en package.json:

npm install

o su forma abreviada:

npm i

Para instalar un paquete específico como dependencia de producción:

npm install <nombre-paquete>

Por ejemplo:

npm install express

Esto agrega el paquete a la sección “dependencies” en package.json y lo instala en node_modules.

Si el paquete es solo para desarrollo, como herramientas de testing o linting:

npm install --save-dev <nombre-paquete>

o abreviado:

npm i -D jest

En versiones recientes de npm, las flags –save y –save-dev son opcionales para dependencias locales, ya que se agregan automáticamente.

Para instalaciones globales, útiles en herramientas de línea de comandos:

npm install -g <nombre-paquete>

Ejemplo común:

npm install -g create-vite

Instalación de dependencias de producción es una práctica recomendada en entornos de despliegue para reducir el tamaño del proyecto.

Desinstalación y actualización de paquetes

Para remover un paquete no necesario:

npm uninstall <nombre-paquete>

o abreviado:

npm un <nombre-paquete>

Esto elimina el paquete de node_modules y actualiza package.json соответственно.

Para paquetes globales:

npm uninstall -g <nombre-paquete>

La actualización de paquetes locales se realiza con:

npm update <nombre-paquete>

o abreviado:

npm up <nombre-paquete>

Sin especificar paquete, actualiza todas las dependencias según las restricciones de versión en package.json.

Para verificar paquetes desactualizados:

npm outdated

Este comando muestra una tabla con versiones actuales, deseadas y últimas disponibles.

En entornos globales:

npm outdated -g --depth=0

Y para actualizar globales individualmente:

npm update -g <nombre-paquete>

Listado y visualización de paquetes instalados

Para listar paquetes locales con una estructura jerárquica limitada:

npm list --depth=0

o simplemente:

npm ls

Para paquetes globales:

npm list -g --depth=0

Esto proporciona una vista limpia sin dependencias anidadas profundas, ideal para revisiones rápidas.

Ejemplo de salida típica:

[email protected] /ruta/al/proyecto
├── [email protected]
└── [email protected]

Ejecución de scripts definidos en package.json

Los scripts personalizados son una característica poderosa de npm. Para ver los scripts disponibles:

npm run

Esto lista todos los definidos en la sección “scripts”.

Para ejecutar uno específico:

npm run <nombre-script>

Por ejemplo, en muchos proyectos:

npm run dev
npm run build
npm run test

Estos scripts permiten automatizar tareas como compilación, testing y despliegue.

Ejemplo de sección scripts:

"scripts": {
  "start": "node index.js",
  "dev": "nodemon index.js",
  "test": "jest",
  "lint": "eslint ."
}

Actualización de npm a la versión más reciente

Mantener npm actualizado asegura acceso a mejoras de seguridad y rendimiento. Para actualizar globalmente:

npm install -g npm@latest

En sistemas Windows, se recomienda usar una herramienta específica si surgen problemas de permisos:

npx npm-windows-upgrade

Verificar la versión actual:

npm -v

En 2026, la versión de npm supera la 10.x, con optimizaciones significativas en velocidad de instalación gracias a avances en el motor.

Introducción a Node Version Manager (nvm)

Gestionar múltiples versiones de Node.js en un mismo equipo es común en desarrollo profesional. Node Version Manager (nvm) es la solución más popular para sistemas Unix-like (macOS y Linux), permitiendo instalar y alternar versiones sin conflictos.

Para Windows, existe nvm-windows como alternativa compatible.

Una vez instalado nvm, los comandos básicos incluyen:

Instalar una versión específica:

nvm install 24

Esto instala la última versión de la rama 24.x (actual LTS en enero 2026).

Para la versión Current:

nvm install 25

o la más reciente absoluta:

nvm install node

Gestión de versiones múltiples facilita probar compatibilidad en proyectos legacy y modernos simultáneamente.

Cambio y uso de versiones de Node con nvm

Para alternar a una versión instalada:

nvm use 24.13.0

o simplemente:

nvm use 24

Para listar versiones instaladas:

nvm ls

Y versiones disponibles remotas:

nvm ls-remote

Filtrando por LTS:

nvm ls-remote --lts

Establecer una versión predeterminada:

nvm alias default 24

Esto asegura que nuevos terminales usen esa versión automáticamente.

Actualización de npm en entornos gestionados por nvm

Cuando se usa nvm, cada versión de Node trae su propia versión de npm. Para actualizar npm en la versión activa:

npm install -g npm@latest

Alternativamente, un comando útil:

nvm install-latest-npm

Esto actualiza npm solo para la versión de Node actualmente en uso.

Mejores prácticas en la gestión de versiones

En equipos de desarrollo, es recomendable especificar la versión de Node en un archivo .nvmrc en la raíz del proyecto:

echo "24" > .nvmrc

Luego, al entrar al directorio:

nvm use

nvm lee automáticamente el archivo y cambia a la versión indicada.

Esto garantiza consistencia entre desarrolladores y entornos CI/CD.

Ejemplo de estructura de proyecto con .nvmrc:

mi-proyecto/
├── .nvmrc
├── package.json
├── node_modules/
└── src/

Alternar versiones de Node de manera rápida mejora la productividad y reduce errores de compatibilidad.

Comandos avanzados y flags útiles en npm

Aunque los comandos básicos cubren la mayoría de casos, flags adicionales optimizan operaciones.

Instalación solo de producción:

npm ci

Ideal para despliegues, ya que usa package-lock.json estrictamente y es más rápido.

Auditoría de seguridad:

npm audit

Identifica vulnerabilidades en dependencias y sugiere fixes:

npm audit fix

Publicación de paquetes propios:

npm login
npm publish

Para paquetes privados o scoped.

Uso de npx para ejecución temporal:

npx create-react-app mi-app

Ejecuta paquetes sin instalación global.

Consideraciones de rendimiento y seguridad en 2026

Con las versiones recientes de Node y npm, el enfoque en seguridad es prioritario. Se recomienda siempre usar package-lock.json o yarn.lock/pnpm-lock.yaml para reproducibilidad.

Evitar instalaciones globales innecesarias reduce riesgos y conflictos.

Monitorear actualizaciones de seguridad mediante:

npm outdated
npm audit

Y aplicar parches oportunamente.

Optimización de instalaciones npm ha mejorado notablemente con caching inteligente y parallelismo.

Conclusiones

Dominar los comandos de npm y el uso de nvm constituye una habilidad esencial para cualquier desarrollador trabajando con Node.js en 2026. Estas herramientas no solo agilizan la gestión de dependencias y versiones, sino que también contribuyen a mantener proyectos seguros, reproducibles y eficientes.

Al aplicar las prácticas descritas, desde la inicialización de proyectos hasta la alternancia fluida entre versiones de Node, se logra un flujo de trabajo profesional y adaptable a las demandas actuales del desarrollo web y de aplicaciones JavaScript.

La evolución constante de npm y Node.js asegura que invertir tiempo en su comprensión rinda beneficios duraderos en productividad y calidad de código. Recomendamos experimentar con estos comandos en proyectos reales para internalizar su uso óptimo.