Ein polyglotter Dev-Umgebungs-Manager, der asdf, nvm, pyenv, direnv und make in einem einzigen Tool ersetzt. Verwalten Sie Tool-Versionen, Umgebungsvariablen und Projekt-Tasks — alles aus einer Konfigurationsdatei.
| Plattform | Befehl |
|---|
| macOS/Linux (Empfohlen) | 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 (Alle Plattformen) | cargo install mise |
| Nix | nix-env -iA nixpkgs.mise |
| Docker | docker run jdx/mise |
| Shell | Konfigurationsdatei | Hinzuzufügender Befehl |
|---|
| 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 |
| Befehl | Beschreibung |
|---|
mise use node@22 | Node.js 22 installieren und für aktuelles Verzeichnis festlegen |
mise use python@3.12 | Python 3.12 für aktuelles Verzeichnis installieren |
mise use --global node@22 | Node.js 22 als globalen Standard festlegen |
mise use node@lts | Die neueste LTS-Version verwenden |
mise use node@latest | Die absolut neueste Version verwenden |
mise install | Alle Tools aus mise.toml / .tool-versions installieren |
mise install node | Die konfigurierte Version von Node.js installieren |
mise install node@20 | Eine bestimmte Version installieren |
mise uninstall node@18 | Eine bestimmte Version entfernen |
mise upgrade node | Node.js auf die neueste passende Version aktualisieren |
mise upgrade | Alle Tools aktualisieren |
mise ls | Alle installierten Tool-Versionen auflisten |
mise ls node | Installierte Node.js-Versionen auflisten |
mise ls-remote node | Alle verfügbaren Node.js-Versionen anzeigen |
mise which node | Pfad zur aktiven node-Binärdatei anzeigen |
mise where node@22 | Installationsverzeichnis für Node.js 22 anzeigen |
mise search python | Nach verfügbaren Tools suchen, die “python” entsprechen |
mise exec node@20 -- node -v | Befehl mit einer bestimmten Tool-Version ausführen |
Node.js, Python, Ruby, Go, Rust, Java, Erlang, Elixir, PHP, Terraform, kubectl, Helm, Deno, Bun und hunderte mehr über Plugins.
| Befehl | Beschreibung |
|---|
mise set MY_VAR=value | Umgebungsvariable für aktuelles Verzeichnis setzen |
mise set --global API_KEY=xyz | Globale Umgebungsvariable setzen |
mise unset MY_VAR | Eine Umgebungsvariable entfernen |
mise env | Alle aktiven Umgebungsvariablen anzeigen |
mise env --json | Umgebungsvariablen als JSON anzeigen |
| Befehl | Beschreibung |
|---|
mise run build | ”build”-Task ausführen |
mise run test | ”test”-Task ausführen |
mise run lint -- --fix | Task mit zusätzlichen Argumenten ausführen |
mise tasks ls | Alle verfügbaren Tasks auflisten |
mise tasks info build | Details über den “build”-Task anzeigen |
mise tasks add build "npm run build" | Neuen Task erstellen |
mise tasks edit build | Task in Ihrem Editor bearbeiten |
mise tasks deps | Task-Abhängigkeitsbaum anzeigen |
mise tasks validate | Task-Konfiguration validieren |
# .mise.toml oder mise.toml im Projekt-Root
[tools]
node = "22" # Exakte Hauptversion
python = "3.12" # Exakte Nebenversion
terraform = "latest" # Immer neueste
ruby = "3.3.0" # Exakte Patch-Version
go = "prefix:1.22" # Neueste 1.22.x
[env]
NODE_ENV = "development"
DATABASE_URL = "postgres://localhost/mydb"
# Aus .env-Datei laden
_.file = ".env"
[tasks.build]
description = "Build the project"
run = "npm run build"
depends = ["install"] # 'install' zuerst ausführen
[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 — kompatibel mit asdf
node 22.0.0
python 3.12.1
ruby 3.3.0
mise.toml im aktuellen Verzeichnis
mise.toml in übergeordneten Verzeichnissen (nach oben gehend)
~/.config/mise/config.toml (global)
| Befehl | Beschreibung |
|---|
mise doctor | Konfigurationsprobleme diagnostizieren |
mise version | mise-Version anzeigen |
mise self-update | mise selbst aktualisieren |
mise cache clear | Download- und Build-Caches leeren |
mise reshim | Shim-Dateien regenerieren |
mise deactivate | mise in aktueller Shell deaktivieren |
mise lock | Lockfile für reproduzierbare Installationen erstellen |
mise config ls | Alle aktiven Konfigurationsdateien auflisten |
| Befehl | Beschreibung |
|---|
mise plugins ls | Installierte Plugins auflisten |
mise plugins install terraform | Plugin installieren |
mise plugins update | Alle Plugins aktualisieren |
mise plugins update terraform | Bestimmtes Plugin aktualisieren |
mise backends ls | Verfügbare Tool-Backends auflisten |
# nvm aus Shell-Konfiguration entfernen, dann:
mise use --global node@$(node -v | sed 's/v//')
# mise liest .tool-versions-Dateien nativ
# Einfach mise installieren und aktivieren — vorhandene .tool-versions-Dateien funktionieren
# Umgebungsvariablen in [env]-Abschnitt von mise.toml verschieben
# mise behandelt verzeichnis-bezogene Umgebungsvariablen nativ
# Neues Projekt einrichten
cd ~/projects/my-app
mise use node@22 python@3.12
mise set NODE_ENV=development
# Projekt klonen und bootstrappen
git clone repo && cd repo
mise install # Installiert alle Tools aus mise.toml
# Projekt-Tasks ausführen
mise run dev # Dev-Server starten
mise run test # Tests ausführen
mise run build # Für Produktion bauen
# Tool-Versionen über Projekte prüfen
mise ls
# Tools aktuell halten
mise upgrade # Alle Tools auf neueste Version aktualisieren
| Funktion | asdf | nvm | direnv | mise |
|---|
| Mehrsprachig | Ja | Nur Node | Nein | Ja |
| Umgebungsvariablen | Nein | Nein | Ja | Ja |
| Task-Runner | Nein | Nein | Nein | Ja |
| Konfigurationsdatei | .tool-versions | .nvmrc | .envrc | mise.toml + .tool-versions |
| Geschwindigkeit | Langsam (Shell) | Mäßig | Schnell | Schnell (Rust) |
| Shims | Ja | Ja | Nein | Ja |