En esta publicación del blog, aprenderemos cómo utilizar nvm (Node Version Manager) y autoenv juntos para gestionar las versiones de Node.js y las variables de entorno en tu flujo de trabajo de desarrollo. Esta guía asume que ya has instalado tanto nvm como autoenv en tu sistema.

¿Por qué usar NVM y Autoenv juntos?

nvm es una herramienta fantástica para gestionar múltiples versiones de Node.js en tu sistema, lo que te permite cambiar fácilmente entre ellas. autoenv simplifica el proceso de gestión de las variables de entorno cargándolas automáticamente desde un archivo .env cuando entras en un directorio.

Al combinar los dos, puedes configurar tu entorno de desarrollo para cambiar automáticamente a la versión adecuada de Node.js y cargar las variables de entorno relevantes, simplificando así tu flujo de trabajo.

Creando un archivo .env

Primero, crea un archivo .env en el directorio raíz de tu proyecto. Este archivo contendrá las variables de entorno y la versión de Node.js que deseas utilizar para el proyecto.

Aquí tienes un ejemplo de cómo podría ser el archivo .env:

export NODE_ENV=development
export API_KEY=your_api_key_here
export PORT=3000
export NVM_DIR="$HOME/.nvm"
nvm use 14.17.0

En este ejemplo, estamos configurando las variables de entorno NODE_ENV, API_KEY y PORT. También estamos especificando la ruta al directorio nvm e indicándole que use la versión de Node.js 14.17.0 para el proyecto.

Usando NVM con Autoenv

Ahora que has configurado tu archivo .env, necesitas configurar autoenv para que funcione con nvm. Para hacer esto, agrega la siguiente línea a tu archivo .autoenv.zsh o .autoenv.sh, dependiendo de tu shell:

source "$NVM_DIR/nvm.sh"

Esta línea asegura que el comando nvm esté disponible cuando autoenv carga el archivo .env.

Configurando tu proyecto

Con la configuración completa, navega al directorio raíz de tu proyecto utilizando la terminal. Deberías ver un mensaje de autoenv que indica que ha cargado el archivo .env:

$ cd your_project_directory
autoenv:
autoenv: Loading .env
autoenv: Switching to Node.js v14.17.0

Ahora, la versión de Node.js especificada y las variables de entorno del archivo .env se configurarán automáticamente para tu proyecto.

Cambiando entre proyectos

Cuando navegues entre proyectos con diferentes archivos .env, autoenv y nvm ajustarán automáticamente la versión de Node.js y las variables de entorno correspondientes:

$ cd another_project_directory
autoenv:
autoenv: Loading .env
autoenv: Switching to Node.js v12.22.1

¡Esto hace que la gestión de diferentes versiones y entornos de Node.js sea muy fácil!

Conclusión

Al utilizar nvm y autoenv en combinación, puedes simplificar en gran medida la gestión de versiones de Node.js y variables de entorno para tus proyectos. Esto hará que tu proceso de desarrollo sea más eficiente y asegurará que siempre estés utilizando las configuraciones correctas para cada proyecto.