En este módulo aprenderás:
- Manejo pro de variables [env], archivos .env automáticos y modificación del PATH.
- Comandos y configuraciones clave para 03. Environments & Secretos por Proyecto
- Ejercicios prácticos listos para probar en tu terminal local
Chau direnv: Variables de entorno nativas sin plugins extra
Mano, ¿cuántas veces has subido credenciales de desarrollo por olvidarte de exportar una variable en la terminal? Con mise, cuando te metes a la carpeta del proyecto (cd my-app), las variables se inyectan automáticamente en tu sesión de shell.
Orden de Precedencia de Entornos y Archivos de Configuración
~/.config/mise/config.tomlHerramientas por defecto para cualquier carpeta de tu máquina.
~/work/.mise.tomlHeredada automáticamente en todos los subdirectorios de trabajo.
./mise.tomlSobrescribe versiones y define variables de entorno del repo.
./.env (No commiteado)API keys y contraseñas inyectadas en memoria al entrar al directorio.
Todas las variables y binarios son consolidados de menor a mayor prioridad. Las variables locales sobrescriben limpiamente a las globales.
Ejemplo Real: Configuración de Base de Datos y API Key
Imagina que tienes este archivo .env en la raíz de tu backend:
DATABASE_URL="postgresql://postgres:secret123@localhost:5432/curso_db"
JWT_SECRET="ultra-secret-key-latam-2026"
PORT=8080
En tu mise.toml le dices a mise que lo lea automáticamente con _.file = ".env":
[env]
# Cargar automáticamente tu archivo .env local
_.file = ".env"
# Definir variables específicas de desarrollo
NODE_ENV = "development"
API_URL = "http://localhost:8080"
# Agregar carpetas custom al PATH del proyecto
_.path = ["./node_modules/.bin", "./bin"]
Comandos para inspeccionar tu entorno
mise set PORT=8080: Agrega o actualiza una variable directamente en tumise.toml.mise unset PORT: Remueve la variable del archivo.mise env: Muestra todas las variables exportadas pormiseen la sesión actual.mise en: Abre una sub-shell con todo el entorno inyectado.
Jamás commitees tu .env con secretos reales
Asegúrate de agregar .env a tu .gitignore. En mise.toml usa _.file = ".env" para que cada dev del equipo tenga su .env local con sus propias llaves API sin chocar con el repositorio.
Reto Ninja de la Lección 🥷
Demuestra que dominas las variables de entorno en mise respondiendo este test rápido:
¿Qué directiva en [env] de mise.toml se utiliza para cargar automáticamente las variables de tu archivo .env local?
Ejercicio Práctico Ninja 🥷
- En tu proyecto crea un archivo
.envconDATABASE_URL="postgresql://localhost:5432/mydb". - Añade
_.file = ".env"dentro de la sección[env]de tumise.toml. - Haz
echo $DATABASE_URLen tu terminal y verifica que imprima la cadena de conexión inmediatamente.
¿Terminaste esta lección?
Marca tu progreso para sincronizar el avance en tu navegador.