Aller au contenu

Aide-Mémoire mise - Gestionnaire d'Environnement de Développement

Aide-Mémoire mise - Gestionnaire d’Environnement de Développement

Section intitulée « Aide-Mémoire mise - Gestionnaire d’Environnement de Développement »

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.

PlateformeCommande
macOS/Linux (Recommandé)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 (Toutes plateformes)cargo install mise
Nixnix-env -iA nixpkgs.mise
Dockerdocker run jdx/mise
ShellFichier de ConfigurationCommande à Ajouter
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
CommandeDescription
mise use node@22Installer Node.js 22 et définir pour le répertoire courant
mise use python@3.12Installer Python 3.12 pour le répertoire courant
mise use --global node@22Définir Node.js 22 comme valeur par défaut globale
mise use node@ltsUtiliser la dernière version LTS
mise use node@latestUtiliser la version la plus récente absolue
mise installInstaller tous les outils depuis mise.toml / .tool-versions
mise install nodeInstaller la version configurée de Node.js
mise install node@20Installer une version spécifique
mise uninstall node@18Supprimer une version spécifique
mise upgrade nodeMettre à niveau Node.js vers la dernière version correspondante
mise upgradeMettre à niveau tous les outils
mise lsLister toutes les versions d’outils installées
mise ls nodeLister les versions Node.js installées
mise ls-remote nodeAfficher toutes les versions Node.js disponibles
mise which nodeAfficher le chemin vers le binaire node actif
mise where node@22Afficher le répertoire d’installation pour Node.js 22
mise search pythonRechercher les outils disponibles correspondant à “python”
mise exec node@20 -- node -vExé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.

CommandeDescription
mise set MY_VAR=valueDéfinir une variable d’environnement pour le répertoire courant
mise set --global API_KEY=xyzDéfinir une variable d’environnement globale
mise unset MY_VARSupprimer une variable d’environnement
mise envAfficher toutes les variables d’environnement actives
mise env --jsonAfficher les variables d’environnement en JSON
CommandeDescription
mise run buildExécuter la tâche “build”
mise run testExécuter la tâche “test”
mise run lint -- --fixExécuter la tâche avec des arguments supplémentaires
mise tasks lsLister toutes les tâches disponibles
mise tasks info buildAfficher 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 depsAfficher l’arbre de dépendances des tâches
mise tasks validateValider 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

Hiérarchie de Configuration (Le plus spécifique gagne)

Section intitulée « Hiérarchie de Configuration (Le plus spécifique gagne) »
  1. mise.toml dans le répertoire courant
  2. mise.toml dans les répertoires parents (en remontant)
  3. ~/.config/mise/config.toml (global)
CommandeDescription
mise doctorDiagnostiquer les problèmes de configuration
mise versionAfficher la version de mise
mise self-updateMettre à jour mise lui-même
mise cache clearEffacer les caches de téléchargement et de construction
mise reshimRégénérer les fichiers shim
mise deactivateDésactiver mise dans le shell courant
mise lockCréer un fichier de verrouillage pour des installations reproductibles
mise config lsLister tous les fichiers de configuration actifs
CommandeDescription
mise plugins lsLister les plugins installés
mise plugins install terraformInstaller un plugin
mise plugins updateMettre à jour tous les plugins
mise plugins update terraformMettre à jour un plugin spécifique
mise backends lsLister 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éasdfnvmdirenvmise
Multi-langageOuiNode uniquementNonOui
Variables d’environnementNonNonOuiOui
Exécuteur de tâchesNonNonNonOui
Fichier de configuration.tool-versions.nvmrc.envrcmise.toml + .tool-versions
VitesseLent (shell)ModéréRapideRapide (Rust)
ShimsOuiOuiNonOui