Saltar al contenido principal
MDev Env Pro
Guía: Guía Mise - Adiós nvm/pyenv15% Completado

En este módulo aprenderás:

  • Gestión multiversión con mise use, install y exec sin shims lentos.
  • Comandos y configuraciones clave para 02. Dev Tools & Versiones Políglotas
  • Ejercicios prácticos listos para probar en tu terminal local

Cambia de versión sin rodeos ni shims lentos

Mano, con mise puedes fijar versiones globales para tu máquina o locales para cada proyecto. Lo más bacán es que por defecto mise inserta los binarios directamente en el PATH al hacer cd, evitando el overhead de los shims.

Métricas oficiales de descarga en mise

Node.js: core:node • 2,312,631 descargas • 860 versionesPython: core:python • 1,329,159 descargas • 1,050 versionesGo: core:go • 676,041 descargas • 282 versiones

Stack más usado en Latam

En las startups y software houses de Perú y Latam, este es el comando mágico que usas en el 90% de proyectos fullstack:

mise use node@24 python@3.13 go@1.23

Tabla Comparativa: nvm vs mise

Característica nvm (Legacy) mise (Senior)
Lenguaje de implementación Bash script Rust nativo (0.01s overhead)
Soporte Políglota Solo Node.js Node, Python, Go, Rust, Bun, etc.
Mecanismo de PATH Shims lentos Inyección directa en PATH al cd
Manejo de Tareas y .env No soportado Integrado de forma nativa en mise.toml
Arquitectura de Ejecución

mise (Inyección Directa en PATH) vs Shims Tradicionales

Legacy mise (0.01ms)
1. Gestores Tradicionales (nvm / asdf)+80ms overhead
Terminal Shell$ node app.js
⚠️ Interceptor Shim (Bash Wrapper)

El ejecutable en PATH es un script intermedio (~/.asdf/shims/node).

Evalúa versiones → Llama sub-shell → Busca `.tool-versions`
Binario Real (Destino)/usr/local/Cellar/node/24/bin/node
❌ Cada invocación de comando ejecuta un wrapper bash extra, ralentizando scripts y CI.
2. mise (Rust Core Shimless)⚡ 0.01ms (Zero Overhead)
Hook de Shell al hacer `cd`Nativo en Rust

$PATH se muta al instante:

PATH="~/.local/share/mise/installs/node/24/bin:$PATH"
Invocación Directa
✓ Ejecución Nativa de Binario$ node app.js → corre el binario real directo
Cero procesos bash intermedios. Rendimiento nativo C/Rust.
✓ Tu terminal nunca se congela y tus scripts de build corren a velocidad máxima.

Comandos clave que debes dominar

  • mise use node@24: Instala y fija la versión en el mise.toml del proyecto actual.
  • mise use -g python@3.13: Establece la versión por defecto para todo tu sistema.
  • mise ls: Lista todas las herramientas instaladas y activas.
  • mise exec node@24 -- node index.js: Corre un comando usando una versión específica sin modificar tu archivo de configuración.

Ejemplos por lenguaje de desarrollo

Instala Node y Bun en un solo tiro para tu API:

mise use node@26 bun@latest

Estructura en tu mise.toml

mise.tomltoml
[tools]
node = "24.15.0"
python = "3.13"
go = "1.23"
terraform = "1.9"

Reto Ninja de la Lección 🥷

Demuestra que dominas la gestión multiversión respondiendo este test rápido:

Reto Ninja: Dev Tools & Versiones 🛠️
Pregunta 1/3
❯reto --step=1

¿Cómo instalas y fijas una versión de herramienta (ej: Node 24) en el mise.toml de tu proyecto actual?

Ejercicio Práctico Ninja 🥷

  1. En tu proyecto, ejecuta mise use go@1.23 python@3.13.
  2. Revisa cómo se actualizó tu mise.toml.
  3. Ejecuta mise exec python@3.13 -- python3 -c "print('Hola desde Python via mise!')".

¿Terminaste esta lección?

Marca tu progreso para sincronizar el avance en tu navegador.