.nvmrc: Configuración de npm
Se guarda en la raíz del proyecto (al mismo nivel que el package.json).
Guarda únicamente un número de texto que especifica qué versión exacta de Node.js requiere tu proyecto para funcionar correctamente. NVM (Node Version Manager) es una herramienta que permite cambiar de versión de Node.js fácilmente.
Ejemplo de contenido de un archivo .nvmrc:
Si se usa pnpm, al entrar a la carpeta de un proyecto en la terminal y escribir el comando fnm use, la terminal lee el archivo .nvmrc y cambia automáticamente a la versión de Node.js que requiere el proyecto.
¿Se sube al hosting o producción?
👍 SÍ
Es excelente subirlo a Github porque así se asegura que todos los desarrolladores de un equipo y las plataformas en la nube (como Vercel, Netlify o GitHub Actions) usen exactamente la misma versión de Node.js al compilar el proyecto.
La ventaja principal se resume en una sola frase famosa del mundo del software:
"Evitar el famoso: 'En mi computadora sí funciona, pero en el servidor no'."
Cuando varias personas trabajan en un proyecto o cuando se despliega un sitio en la nube, la versión de Node.js actúa como los cimientos de la casa. Si los cimientos cambian, la casa puede comportarse de forma impredecible.
Los beneficios concretos de congelar esa versión con un .nvmrc, son:
- Evitar errores de compatibilidad: Diferentes versiones de Node.js pueden tener diferencias en la sintaxis, características y comportamiento. Al especificar una versión exacta, se reduce el riesgo de que el código funcione en un entorno pero falle en otro.
- Facilitar la colaboración: Cuando varios desarrolladores trabajan en el mismo proyecto, tener una versión específica de Node.js asegura que todos estén utilizando el mismo entorno de desarrollo, lo que facilita la colaboración y evita problemas de "funciona en mi máquina".
- Compatibilidad con dependencias: Algunas dependencias pueden requerir versiones específicas de Node.js para funcionar correctamente. Al establecer una versión fija, se garantiza que las dependencias se instalen y ejecuten sin problemas.
- Despliegue consistente: Al desplegar un proyecto en un servidor o plataforma en la nube, tener una versión específica de Node.js asegura que el entorno de producción sea consistente con el entorno de desarrollo, evitando sorpresas desagradables.