Un gestionnaire d’environnement de développement polyglotte qui remplace asdf, nvm, pyenv, direnv et make en un seul outil. Gérez les versions d’outils, les variables d’environnement et les tâches de projet — le tout depuis un seul fichier de configuration.
| Plateforme | Commande |
|---|
| macOS/Linux (Recommandé) | 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 (Toutes plateformes) | cargo install mise |
| Nix | nix-env -iA nixpkgs.mise |
| Docker | docker run jdx/mise |
| Shell | Fichier de Configuration | Commande à Ajouter |
|---|
| 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 |
| Commande | Description |
|---|
mise use node@22 | Installer Node.js 22 et définir pour le répertoire courant |
mise use python@3.12 | Installer Python 3.12 pour le répertoire courant |
mise use --global node@22 | Définir Node.js 22 comme valeur par défaut globale |
mise use node@lts | Utiliser la dernière version LTS |
mise use node@latest | Utiliser la version la plus récente absolue |
mise install | Installer tous les outils depuis mise.toml / .tool-versions |
mise install node | Installer la version configurée de Node.js |
mise install node@20 | Installer une version spécifique |
mise uninstall node@18 | Supprimer une version spécifique |
mise upgrade node | Mettre à niveau Node.js vers la dernière version correspondante |
mise upgrade | Mettre à niveau tous les outils |
mise ls | Lister toutes les versions d’outils installées |
mise ls node | Lister les versions Node.js installées |
mise ls-remote node | Afficher toutes les versions Node.js disponibles |
mise which node | Afficher le chemin vers le binaire node actif |
mise where node@22 | Afficher le répertoire d’installation pour Node.js 22 |
mise search python | Rechercher les outils disponibles correspondant à “python” |
mise exec node@20 -- node -v | Exécuter une commande avec une version d’outil spécifique |
Node.js, Python, Ruby, Go, Rust, Java, Erlang, Elixir, PHP, Terraform, kubectl, Helm, Deno, Bun, et des centaines d’autres via plugins.
| Commande | Description |
|---|
mise set MY_VAR=value | Définir une variable d’environnement pour le répertoire courant |
mise set --global API_KEY=xyz | Définir une variable d’environnement globale |
mise unset MY_VAR | Supprimer une variable d’environnement |
mise env | Afficher toutes les variables d’environnement actives |
mise env --json | Afficher les variables d’environnement en JSON |
| Commande | Description |
|---|
mise run build | Exécuter la tâche “build” |
mise run test | Exécuter la tâche “test” |
mise run lint -- --fix | Exécuter la tâche avec des arguments supplémentaires |
mise tasks ls | Lister toutes les tâches disponibles |
mise tasks info build | Afficher les détails de la tâche “build” |
mise tasks add build "npm run build" | Créer une nouvelle tâche |
mise tasks edit build | Éditer une tâche dans votre éditeur |
mise tasks deps | Afficher l’arbre de dépendances des tâches |
mise tasks validate | Valider la configuration des tâches |
# .mise.toml ou mise.toml à la racine du projet
[tools]
node = "22" # Version majeure exacte
python = "3.12" # Version mineure exacte
terraform = "latest" # Toujours la dernière
ruby = "3.3.0" # Version de patch exacte
go = "prefix:1.22" # Dernière 1.22.x
[env]
NODE_ENV = "development"
DATABASE_URL = "postgres://localhost/mydb"
# Charger depuis le fichier .env
_.file = ".env"
[tasks.build]
description = "Build the project"
run = "npm run build"
depends = ["install"] # Exécuter 'install' en premier
[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 avec asdf
node 22.0.0
python 3.12.1
ruby 3.3.0
mise.toml dans le répertoire courant
mise.toml dans les répertoires parents (en remontant)
~/.config/mise/config.toml (global)
| Commande | Description |
|---|
mise doctor | Diagnostiquer les problèmes de configuration |
mise version | Afficher la version de mise |
mise self-update | Mettre à jour mise lui-même |
mise cache clear | Effacer les caches de téléchargement et de construction |
mise reshim | Régénérer les fichiers shim |
mise deactivate | Désactiver mise dans le shell courant |
mise lock | Créer un fichier de verrouillage pour des installations reproductibles |
mise config ls | Lister tous les fichiers de configuration actifs |
| Commande | Description |
|---|
mise plugins ls | Lister les plugins installés |
mise plugins install terraform | Installer un plugin |
mise plugins update | Mettre à jour tous les plugins |
mise plugins update terraform | Mettre à jour un plugin spécifique |
mise backends ls | Lister les backends d’outils disponibles |
# Supprimer nvm de la configuration shell, puis :
mise use --global node@$(node -v | sed 's/v//')
# mise lit les fichiers .tool-versions nativement
# Installez simplement mise et activez-le — les fichiers .tool-versions existants fonctionnent
# Déplacer les variables d'environnement vers la section [env] de mise.toml
# mise gère les variables d'environnement à portée de répertoire nativement
# Configurer un nouveau projet
cd ~/projects/my-app
mise use node@22 python@3.12
mise set NODE_ENV=development
# Cloner et initialiser un projet
git clone repo && cd repo
mise install # Installe tous les outils depuis mise.toml
# Exécuter les tâches du projet
mise run dev # Démarrer le serveur de développement
mise run test # Exécuter les tests
mise run build # Construire pour la production
# Vérifier les versions d'outils à travers les projets
mise ls
# Maintenir les outils à jour
mise upgrade # Mettre à niveau tous les outils vers la dernière version
| Fonctionnalité | asdf | nvm | direnv | mise |
|---|
| Multi-langage | Oui | Node uniquement | Non | Oui |
| Variables d’environnement | Non | Non | Oui | Oui |
| Exécuteur de tâches | Non | Non | Non | Oui |
| Fichier de configuration | .tool-versions | .nvmrc | .envrc | mise.toml + .tool-versions |
| Vitesse | Lent (shell) | Modéré | Rapide | Rapide (Rust) |
| Shims | Oui | Oui | Non | Oui |