Skip to content

Manual de Administración de Node.js

ℹ️

Comandos básicos para el administrador


1. Instalación y Gestión de Versiones

1.1 Verificar instalación

ComandoDescripción
node -vMuestra la versión instalada de Node.js
npm -vMuestra la versión del gestor de paquetes npm
npx -vMuestra la versión de npx (ejecutor de paquetes)
node --versionVersión completa de Node.js
which nodeRuta del binario de Node (Linux/macOS)
where nodeRuta del binario de Node (Windows)

1.2 NVM — Node Version Manager

NVM permite instalar y cambiar entre múltiples versiones de Node.js:

ComandoDescripción
nvm install 20Instala Node.js versión 20 (LTS)
nvm install --ltsInstala la última versión LTS
nvm use 20Activa la versión 20 en la sesión actual
nvm use --ltsActiva la versión LTS actual
nvm lsLista todas las versiones instaladas localmente
nvm ls-remoteLista versiones disponibles para instalar
nvm alias default 20Establece la versión 20 como predeterminada
nvm currentMuestra la versión activa actualmente
nvm uninstall 18Desinstala una versión específica

💡

Nota: Se recomienda siempre usar versiones LTS (Long Term Support) en entornos de producción.


2. Gestión de Paquetes con npm

2.1 Inicializar un proyecto

ComandoDescripción
npm initInicia un proyecto de forma interactiva
npm init -yInicia el proyecto con valores predeterminados
npm init --scope=@mi-orgInicia un paquete con alcance de organización

2.2 Instalar paquetes

ComandoDescripción
npm installInstala todas las dependencias del package.json
npm install expressInstala un paquete como dependencia
npm install -D eslintInstala como dependencia de desarrollo
npm install -g nodemonInstala un paquete de forma global
npm install express@4.18.2Instala una versión específica
npm install --productionInstala solo dependencias de producción
npm ciInstalación limpia y reproducible (ideal para CI/CD)

2.3 Actualizar y desinstalar

ComandoDescripción
npm updateActualiza todos los paquetes según semver
npm update expressActualiza un paquete específico
npm uninstall expressDesinstala un paquete
npm uninstall -g nodemonDesinstala un paquete global
npm outdatedLista los paquetes con actualizaciones disponibles

2.4 Auditoría y seguridad

ComandoDescripción
npm auditAnaliza vulnerabilidades en las dependencias
npm audit fixCorrige vulnerabilidades automáticamente
npm audit fix --forceFuerza correcciones (puede romper compatibilidad)
npm audit --jsonResultado del audit en formato JSON

2.5 Información de paquetes

ComandoDescripción
npm listLista dependencias del proyecto actual
npm list --depth=0Lista solo dependencias de primer nivel
npm list -gLista paquetes instalados globalmente
npm info expressMuestra información detallada de un paquete
npm search lodashBusca paquetes en el registro de npm
npm view express versionMuestra la versión publicada más reciente

2.6 Scripts y ejecución

ComandoDescripción
npm startEjecuta el script start del package.json
npm run devEjecuta el script dev personalizado
npm testEjecuta los tests definidos en el proyecto
npm run buildEjecuta el script de construcción
npm run lintEjecuta el linter del proyecto
npx <paquete>Ejecuta un paquete sin instalarlo globalmente

3. Configuración de npm

ComandoDescripción
npm config listMuestra la configuración activa de npm
npm config get registryMuestra el registro actual de paquetes
npm config set registry <url>Cambia el registro de paquetes (ej. Nexus, Artifactory)
npm config set cache <ruta>Define el directorio de caché
npm cache clean --forceLimpia la caché de npm
npm config delete proxyElimina una configuración específica
npm config editAbre el archivo de configuración en el editor
npm whoamiMuestra el usuario autenticado en el registro
npm loginInicia sesión en el registro de npm
npm logoutCierra la sesión del registro actual

💡

Nota: Usa un archivo .npmrc en la raíz del proyecto para configuración específica por proyecto.


4. Ejecución y Administración de Procesos

4.1 Ejecución básica

ComandoDescripción
node app.jsEjecuta un archivo JavaScript directamente
node -e "console.log('Hola')"Ejecuta código Node.js en línea
node --inspect app.jsInicia el depurador de Node.js
node --inspect-brk app.jsDepurador que pausa al inicio
node --max-old-space-size=4096 app.jsAumenta el límite de memoria a 4 GB

4.2 PM2 — Gestor de procesos para producción

PM2 es el estándar de la industria para mantener aplicaciones Node.js en producción:

ComandoDescripción
pm2 start app.jsInicia una aplicación con PM2
pm2 start app.js --name apiInicia con un nombre descriptivo
pm2 start app.js -i maxInicia en modo cluster (todos los cores)
pm2 listLista todos los procesos administrados
pm2 statusEstado detallado de los procesos
pm2 stop apiDetiene un proceso por nombre o ID
pm2 restart apiReinicia un proceso
pm2 reload apiRecarga sin downtime (zero-downtime)
pm2 delete apiElimina un proceso de la lista de PM2
pm2 logsMuestra los logs en tiempo real
pm2 logs api --lines 200Muestra las últimas 200 líneas de un proceso
pm2 monitMonitor interactivo de CPU y memoria
pm2 saveGuarda la lista de procesos para auto-arranque
pm2 startupGenera el script de arranque automático del sistema
pm2 unstartupDeshabilita el arranque automático
pm2 restart api --update-envReinicia actualizando las variables de entorno

💡

Nota: Ejecuta pm2 save después de cada cambio de configuración para persistir el estado tras un reinicio del servidor.


5. Diagnóstico y Monitoreo

5.1 Información del entorno

ComandoDescripción
node -p process.versionsMuestra versiones de Node y sus dependencias (V8, OpenSSL, etc.)
node -p process.envImprime todas las variables de entorno
node -p process.memoryUsage()Uso actual de memoria del proceso
node -p os.cpus().lengthNúmero de núcleos disponibles
node -p os.totalmem()Memoria total del sistema en bytes
node --print "process.platform"Sistema operativo (linux, darwin, win32)

5.2 Depuración y profiling

ComandoDescripción
node --inspect app.jsActiva el depurador remoto (puerto 9229)
node --prof app.jsGenera un perfil de rendimiento (V8)
node --prof-process isolate-*.logProcesa el log de profiling generado
node --trace-warnings app.jsMuestra el stack trace de cada advertencia
node --experimental-vm-modulesHabilita soporte experimental de ES modules
node --pending-deprecation app.jsAdvierte sobre APIs que serán deprecadas

6. Variables de Entorno

ComandoDescripción
NODE_ENV=production node app.jsEstablece el entorno de ejecución
NODE_ENV=development node app.jsModo desarrollo (más logs, sin optimizaciones)
PORT=8080 node app.jsDefine el puerto de escucha
NODE_OPTIONS=--max-old-space-size=4096Opciones globales para todos los procesos Node
DEBUG=express:* node app.jsActiva logs de debug de módulos que usan debug
NODE_TLS_REJECT_UNAUTHORIZED=0Deshabilita verificación TLS (¡solo para desarrollo!)

💡

Nota: Usa archivos .env junto con la librería dotenv o el flag --env-file (Node 20+) para gestionar variables de entorno de forma segura.


7. Referencia Rápida — Flujo de Trabajo

Ciclo típico de administración en producción:

  1. Clonar repositorio e instalar: npm ci
  2. Construir la aplicación: npm run build
  3. Iniciar con PM2: pm2 start dist/index.js --name mi-app -i max
  4. Configurar arranque automático: pm2 save && pm2 startup
  5. Monitorear: pm2 monit
  6. Actualizar sin downtime: git pull && npm ci && npm run build && pm2 reload mi-app
  7. Revisar logs ante errores: pm2 logs mi-app --lines 500
  8. Auditar seguridad periódicamente: npm audit

💡 Nota: Siempre usa npm ci en lugar de npm install en servidores y pipelines de CI/CD para garantizar instalaciones reproducibles y deterministas.

Manual Node JS

Publicado bajo la licencia MIT.