Un gestor de entornos de desarrollo políglota que reemplaza asdf, nvm, pyenv, direnv y make en una sola herramienta. Gestiona versiones de herramientas, variables de entorno y tareas de proyecto — todo desde un archivo de configuración.
| Plataforma | Comando |
|---|
| macOS/Linux (Recomendado) | curl https://mise.run | sh |
| macOS (Homebrew) | brew install mise |
| Arch Linux | sudo pacman -S mise |
| Ubuntu/Debian (apt) | sudo apt install mise |
| Fedora/RHEL | sudo dnf install mise |
| Windows (Scoop) | scoop install mise |
| Cargo (Todas las plataformas) | cargo install mise |
| Nix | nix-env -iA nixpkgs.mise |
| Docker | docker run jdx/mise |
| Shell | Archivo de Configuración | Comando a Agregar |
|---|
| Bash | ~/.bashrc | eval "$(mise activate bash)" |
| Zsh | ~/.zshrc | eval "$(mise activate zsh)" |
| Fish | ~/.config/fish/config.fish | mise activate fish | source |
| PowerShell | Profile | mise activate pwsh | Out-String | Invoke-Expression |
| Comando | Descripción |
|---|
mise use node@22 | Instalar Node.js 22 y establecer para directorio actual |
mise use python@3.12 | Instalar Python 3.12 para directorio actual |
mise use --global node@22 | Establecer Node.js 22 como predeterminado global |
mise use node@lts | Usar la última versión LTS |
mise use node@latest | Usar la última versión absoluta |
mise install | Instalar todas las herramientas desde mise.toml / .tool-versions |
mise install node | Instalar la versión configurada de Node.js |
mise install node@20 | Instalar una versión específica |
mise uninstall node@18 | Eliminar una versión específica |
mise upgrade node | Actualizar Node.js a la última versión coincidente |
mise upgrade | Actualizar todas las herramientas |
mise ls | Listar todas las versiones de herramientas instaladas |
mise ls node | Listar versiones instaladas de Node.js |
mise ls-remote node | Mostrar todas las versiones disponibles de Node.js |
mise which node | Mostrar ruta al binario activo de node |
mise where node@22 | Mostrar directorio de instalación para Node.js 22 |
mise search python | Buscar herramientas disponibles que coincidan con “python” |
mise exec node@20 -- node -v | Ejecutar comando con una versión específica de herramienta |
Node.js, Python, Ruby, Go, Rust, Java, Erlang, Elixir, PHP, Terraform, kubectl, Helm, Deno, Bun, y cientos más vía plugins.
| Comando | Descripción |
|---|
mise set MY_VAR=value | Establecer variable de entorno para directorio actual |
mise set --global API_KEY=xyz | Establecer variable de entorno global |
mise unset MY_VAR | Eliminar una variable de entorno |
mise env | Mostrar todas las variables de entorno activas |
mise env --json | Mostrar variables de entorno como JSON |
| Comando | Descripción |
|---|
mise run build | Ejecutar la tarea “build” |
mise run test | Ejecutar la tarea “test” |
mise run lint -- --fix | Ejecutar tarea con argumentos adicionales |
mise tasks ls | Listar todas las tareas disponibles |
mise tasks info build | Mostrar detalles sobre la tarea “build” |
mise tasks add build "npm run build" | Crear una nueva tarea |
mise tasks edit build | Editar una tarea en tu editor |
mise tasks deps | Mostrar árbol de dependencias de tareas |
mise tasks validate | Validar configuración de tareas |
# .mise.toml or mise.toml in project root
[tools]
node = "22" # Exact major version
python = "3.12" # Exact minor version
terraform = "latest" # Always latest
ruby = "3.3.0" # Exact patch version
go = "prefix:1.22" # Latest 1.22.x
[env]
NODE_ENV = "development"
DATABASE_URL = "postgres://localhost/mydb"
# Load from .env file
_.file = ".env"
[tasks.build]
description = "Build the project"
run = "npm run build"
depends = ["install"] # Run 'install' first
[tasks.install]
description = "Install dependencies"
run = "npm install"
[tasks.test]
description = "Run test suite"
run = "npm test"
depends = ["build"]
[tasks.dev]
description = "Start dev server"
run = "npm run dev"
# .tool-versions — compatible with asdf
node 22.0.0
python 3.12.1
ruby 3.3.0
mise.toml en directorio actual
mise.toml en directorios padre (caminando hacia arriba)
~/.config/mise/config.toml (global)
| Comando | Descripción |
|---|
mise doctor | Diagnosticar problemas de configuración |
mise version | Mostrar versión de mise |
mise self-update | Actualizar mise mismo |
mise cache clear | Limpiar cachés de descarga y construcción |
mise reshim | Regenerar archivos shim |
mise deactivate | Desactivar mise en shell actual |
mise lock | Crear un archivo de bloqueo para instalaciones reproducibles |
mise config ls | Listar todos los archivos de configuración activos |
| Comando | Descripción |
|---|
mise plugins ls | Listar plugins instalados |
mise plugins install terraform | Instalar un plugin |
mise plugins update | Actualizar todos los plugins |
mise plugins update terraform | Actualizar plugin específico |
mise backends ls | Listar backends de herramientas disponibles |
# Remove nvm from shell config, then:
mise use --global node@$(node -v | sed 's/v//')
# mise reads .tool-versions files natively
# Just install mise and activate it — existing .tool-versions files work
# Move env vars to mise.toml [env] section
# mise handles directory-scoped env vars natively
# Set up a new project
cd ~/projects/my-app
mise use node@22 python@3.12
mise set NODE_ENV=development
# Clone and bootstrap a project
git clone repo && cd repo
mise install # Installs all tools from mise.toml
# Run project tasks
mise run dev # Start dev server
mise run test # Run tests
mise run build # Build for production
# Check tool versions across projects
mise ls
# Keep tools up to date
mise upgrade # Upgrade all tools to latest
| Característica | asdf | nvm | direnv | mise |
|---|
| Multi-lenguaje | Sí | Solo Node | No | Sí |
| Variables de entorno | No | No | Sí | Sí |
| Ejecutor de tareas | No | No | No | Sí |
| Archivo de configuración | .tool-versions | .nvmrc | .envrc | mise.toml + .tool-versions |
| Velocidad | Lento (shell) | Moderado | Rápido | Rápido (Rust) |
| Shims | Sí | Sí | No | Sí |