Habilidad de Actualización de Node
Pasos de migración LTS y matriz de cambios importantes: una Habilidad de Agente para actualizar flotas de backend de Node.js a 24.18.0 (LTS Activo).
Busca en todas las páginas de la documentación
Pasos de migración LTS y matriz de cambios importantes: una Habilidad de Agente para actualizar flotas de backend de Node.js a 24.18.0 (LTS Activo).
A partir de la versión LTS actual y la disposición del repositorio, produce:
.nvmrc dice 18 mientras Docker usa 22| Entrada | Por qué |
|---|---|
| Versión(es) actual(es) de Node | Puede diferir por servicio heredado |
| Versión objetivo | 24.18.0 LTS Activo |
| Recuento de repositorios | Monorepo vs. muchos repositorios |
| Dependencias nativas | bcrypt, sharp, canvas necesitan reconstrucción |
| Plataforma de despliegue | k8s, ECS, Fly, VM pura |
node-version: [24.18.0])FROM node:24.18.0-alpine en el Dockerfilenode_modules y regenera el archivo de bloqueo si aparecen errores de ABI.npm audit después de la reinstalación: la resolución puede cambiar.Tarjeta de receta de referencia rápida: lista para copiar y pegar.
# Fase 1 - prueba local en LTS objetivo
fnm install 24.18.0 && fnm use 24.18.0
node -v # v24.18.0
rm -rf node_modules
npm ci
npm run typecheck
npm test
npm run build
# Fase 2 - matriz de CI (extracto)
# .github/workflows/pr-checks.yml
# node-version: '24.18.0'
# Fase 3 - Docker
# FROM node:24.18.0-alpine
# Fase 4 - verificación de producción
kubectl set image deploy/orders-api orders-api=orders-api:node24-abc123
kubectl rollout status deploy/orders-api| Área | Riesgo | Acción |
|---|---|---|
| ESM predeterminado | require() en archivos nuevos | Asegúrate de "type": "module" o sufijo .cjs |
| OpenSSL 3 | Cifrados TLS heredados | Prueba HTTPS saliente a socios antiguos |
| fetch estable | undici duplicado | Elimina la dependencia redundante de node-fetch |
| Modelo de permisos | Uso raro de sandbox | Audita las banderas --experimental-permission |
| Complementos nativos | Desajuste de ABI | npm rebuild o actualiza la versión del paquete |
| Vitest/Jest | Configuración de pool | Actualiza a versiones que soporten Node 24 |
url.parse | Advertencias de deprecación | Migra al constructor URL |
## Tren de PRs de actualización (Node 24.18.0)
PR1 [plataforma] - .nvmrc, engines, node-version de GitHub Actions
PR2 [docker] - Todas las líneas FROM de Dockerfile
PR3 [service-a] - Corrige tiempos de espera de prueba expuestos en 24
PR4 [service-b] - Reconstruye sharp después de la actualización de ABI
PR5 [docs] - CONTRIBUTING.md, runbooks
Prueba de carga: staging 48h, observa la latencia p95 y la tasa de error
Reversión: kubectl rollout undo deploy/orders-api// package.json (cada raíz de espacio de trabajo y servicio)
{
"engines": {
"node": "24.18.0",
"npm": ">=10.0.0"
}
}# .nvmrc
24.18.0Usa la Habilidad de Actualización de Node:
- Actual: Node 20.18.0 en 4 servicios en monorepo de npm workspaces
- Objetivo: 24.18.0
- Dependencias nativas: bcrypt en auth-api, sharp en media-worker
- Despliegue: EKS con Helm
- Salida: Tren de PRs + matriz de cambios importantes + reversiónDespliegue gradual por servicio en monorepos después de que PR1-2 se implementen en toda la plataforma. Menor riesgo que actualizar todos los manejadores a la misma hora.
Siempre apunta solo a LTS Activo para producción. Las versiones impares son para los primeros adoptantes, no para actualizaciones de flotas.
Versiones de la pila: Esta página fue escrita para Node.js 24.18.0 (LTS Activo), npm 10+, TypeScript 5.6+, Express 5, Fastify 5 y NestJS 11.
Revisado por Chris St. John·Última actualización: 16 jul 2026