Salta ai contenuti

mise - Scheda di Riferimento Gestore Ambiente Dev

Un gestore di ambiente dev poliglotta che sostituisce asdf, nvm, pyenv, direnv e make in un singolo strumento. Gestisce versioni degli strumenti, variabili d’ambiente e task di progetto — tutto da un unico file di configurazione.

PiattaformaComando
macOS/Linux (Consigliato)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 (Tutte le piattaforme)cargo install mise
Nixnix-env -iA nixpkgs.mise
Dockerdocker run jdx/mise
ShellFile di ConfigurazioneComando da Aggiungere
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
ComandoDescrizione
mise use node@22Installa Node.js 22 e imposta per directory corrente
mise use python@3.12Installa Python 3.12 per directory corrente
mise use --global node@22Imposta Node.js 22 come predefinito globale
mise use node@ltsUsa l’ultima versione LTS
mise use node@latestUsa l’ultima versione assoluta
mise installInstalla tutti gli strumenti da mise.toml / .tool-versions
mise install nodeInstalla la versione configurata di Node.js
mise install node@20Installa una versione specifica
mise uninstall node@18Rimuovi una versione specifica
mise upgrade nodeAggiorna Node.js all’ultima versione corrispondente
mise upgradeAggiorna tutti gli strumenti
mise lsElenca tutte le versioni degli strumenti installati
mise ls nodeElenca versioni Node.js installate
mise ls-remote nodeMostra tutte le versioni Node.js disponibili
mise which nodeMostra percorso del binario node attivo
mise where node@22Mostra directory di installazione per Node.js 22
mise search pythonCerca strumenti disponibili corrispondenti a “python”
mise exec node@20 -- node -vEsegui comando con versione strumento specifica

Node.js, Python, Ruby, Go, Rust, Java, Erlang, Elixir, PHP, Terraform, kubectl, Helm, Deno, Bun, e centinaia di altri tramite plugin.

ComandoDescrizione
mise set MY_VAR=valueImposta variabile env per directory corrente
mise set --global API_KEY=xyzImposta variabile env globale
mise unset MY_VARRimuovi una variabile env
mise envMostra tutte le variabili d’ambiente attive
mise env --jsonMostra variabili env come JSON
ComandoDescrizione
mise run buildEsegui il task “build”
mise run testEsegui il task “test”
mise run lint -- --fixEsegui task con argomenti extra
mise tasks lsElenca tutti i task disponibili
mise tasks info buildMostra dettagli sul task “build”
mise tasks add build "npm run build"Crea un nuovo task
mise tasks edit buildModifica un task nel tuo editor
mise tasks depsMostra albero dipendenze task
mise tasks validateValida configurazione task
# .mise.toml o mise.toml nella root del progetto
[tools]
node = "22"               # Versione major esatta
python = "3.12"            # Versione minor esatta
terraform = "latest"       # Sempre l'ultima
ruby = "3.3.0"             # Versione patch esatta
go = "prefix:1.22"         # Ultima 1.22.x

[env]
NODE_ENV = "development"
DATABASE_URL = "postgres://localhost/mydb"
# Carica da file .env
_.file = ".env"

[tasks.build]
description = "Build the project"
run = "npm run build"
depends = ["install"]      # Esegui 'install' prima

[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 — compatibile con asdf
node 22.0.0
python 3.12.1
ruby 3.3.0

Gerarchia Configurazione (Vince la più specifica)

Sezione intitolata “Gerarchia Configurazione (Vince la più specifica)”
  1. mise.toml nella directory corrente
  2. mise.toml nelle directory genitore (risalendo)
  3. ~/.config/mise/config.toml (globale)
ComandoDescrizione
mise doctorDiagnostica problemi di configurazione
mise versionMostra versione mise
mise self-updateAggiorna mise stesso
mise cache clearCancella cache di download e build
mise reshimRigenera file shim
mise deactivateDisattiva mise nella shell corrente
mise lockCrea un lockfile per installazioni riproducibili
mise config lsElenca tutti i file di configurazione attivi
ComandoDescrizione
mise plugins lsElenca plugin installati
mise plugins install terraformInstalla un plugin
mise plugins updateAggiorna tutti i plugin
mise plugins update terraformAggiorna plugin specifico
mise backends lsElenca backend strumenti disponibili
# Rimuovi nvm dalla configurazione shell, poi:
mise use --global node@$(node -v | sed 's/v//')
# mise legge nativamente i file .tool-versions
# Basta installare mise e attivarlo — i file .tool-versions esistenti funzionano
# Sposta variabili env nella sezione [env] di mise.toml
# mise gestisce nativamente variabili env con scope directory
# Configura un nuovo progetto
cd ~/projects/my-app
mise use node@22 python@3.12
mise set NODE_ENV=development

# Clona e bootstrap un progetto
git clone repo && cd repo
mise install              # Installa tutti gli strumenti da mise.toml

# Esegui task di progetto
mise run dev              # Avvia server dev
mise run test             # Esegui test
mise run build            # Build per produzione

# Controlla versioni strumenti tra progetti
mise ls

# Mantieni strumenti aggiornati
mise upgrade              # Aggiorna tutti gli strumenti all'ultima
Funzionalitàasdfnvmdirenvmise
Multi-linguaggioSolo NodeNo
Variabili envNoNo
Task runnerNoNoNo
File configurazione.tool-versions.nvmrc.envrcmise.toml + .tool-versions
VelocitàLenta (shell)ModerataVeloceVeloce (Rust)
ShimNo