Zum Inhalt springen

mise - Dev-Umgebungs-Manager Kurzreferenz

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.

PlattformBefehl
macOS/Linux (Empfohlen)curl https://mise.run | sh
macOS (Homebrew)brew install mise
Arch Linuxsudo pacman -S mise
Ubuntu/Debian (apt)sudo apt install mise
Fedora/RHELsudo dnf install mise
Windows (Scoop)scoop install mise
Cargo (Alle Plattformen)cargo install mise
Nixnix-env -iA nixpkgs.mise
Dockerdocker run jdx/mise
ShellKonfigurationsdateiHinzuzufügender Befehl
Bash~/.bashrceval "$(mise activate bash)"
Zsh~/.zshrceval "$(mise activate zsh)"
Fish~/.config/fish/config.fishmise activate fish | source
PowerShellProfilemise activate pwsh | Out-String | Invoke-Expression
BefehlBeschreibung
mise use node@22Node.js 22 installieren und für aktuelles Verzeichnis festlegen
mise use python@3.12Python 3.12 für aktuelles Verzeichnis installieren
mise use --global node@22Node.js 22 als globalen Standard festlegen
mise use node@ltsDie neueste LTS-Version verwenden
mise use node@latestDie absolut neueste Version verwenden
mise installAlle Tools aus mise.toml / .tool-versions installieren
mise install nodeDie konfigurierte Version von Node.js installieren
mise install node@20Eine bestimmte Version installieren
mise uninstall node@18Eine bestimmte Version entfernen
mise upgrade nodeNode.js auf die neueste passende Version aktualisieren
mise upgradeAlle Tools aktualisieren
mise lsAlle installierten Tool-Versionen auflisten
mise ls nodeInstallierte Node.js-Versionen auflisten
mise ls-remote nodeAlle verfügbaren Node.js-Versionen anzeigen
mise which nodePfad zur aktiven node-Binärdatei anzeigen
mise where node@22Installationsverzeichnis für Node.js 22 anzeigen
mise search pythonNach verfügbaren Tools suchen, die “python” entsprechen
mise exec node@20 -- node -vBefehl 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.

BefehlBeschreibung
mise set MY_VAR=valueUmgebungsvariable für aktuelles Verzeichnis setzen
mise set --global API_KEY=xyzGlobale Umgebungsvariable setzen
mise unset MY_VAREine Umgebungsvariable entfernen
mise envAlle aktiven Umgebungsvariablen anzeigen
mise env --jsonUmgebungsvariablen als JSON anzeigen
BefehlBeschreibung
mise run build”build”-Task ausführen
mise run test”test”-Task ausführen
mise run lint -- --fixTask mit zusätzlichen Argumenten ausführen
mise tasks lsAlle verfügbaren Tasks auflisten
mise tasks info buildDetails über den “build”-Task anzeigen
mise tasks add build "npm run build"Neuen Task erstellen
mise tasks edit buildTask in Ihrem Editor bearbeiten
mise tasks depsTask-Abhängigkeitsbaum anzeigen
mise tasks validateTask-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
  1. mise.toml im aktuellen Verzeichnis
  2. mise.toml in übergeordneten Verzeichnissen (nach oben gehend)
  3. ~/.config/mise/config.toml (global)
BefehlBeschreibung
mise doctorKonfigurationsprobleme diagnostizieren
mise versionmise-Version anzeigen
mise self-updatemise selbst aktualisieren
mise cache clearDownload- und Build-Caches leeren
mise reshimShim-Dateien regenerieren
mise deactivatemise in aktueller Shell deaktivieren
mise lockLockfile für reproduzierbare Installationen erstellen
mise config lsAlle aktiven Konfigurationsdateien auflisten
BefehlBeschreibung
mise plugins lsInstallierte Plugins auflisten
mise plugins install terraformPlugin installieren
mise plugins updateAlle Plugins aktualisieren
mise plugins update terraformBestimmtes Plugin aktualisieren
mise backends lsVerfü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
Funktionasdfnvmdirenvmise
MehrsprachigJaNur NodeNeinJa
UmgebungsvariablenNeinNeinJaJa
Task-RunnerNeinNeinNeinJa
Konfigurationsdatei.tool-versions.nvmrc.envrcmise.toml + .tool-versions
GeschwindigkeitLangsam (Shell)MäßigSchnellSchnell (Rust)
ShimsJaJaNeinJa