Replaces These Tools
| Old Tool | Language | Mise Equivalent |
|---|---|---|
| nvm / fnm | Node.js | mise use node@22 |
| pyenv | Python | mise use python@3.12 |
| rbenv | Ruby | mise use ruby@3.3 |
| goenv | Go | mise use go@1.22 |
| rustup | Rust | mise use rust@1.78 |
| sdkman | Java | mise use java@21 |
| tfenv | Terraform | mise use terraform@1.8 |
Project Configuration
# .mise.toml — commit this to your repo
[tools]
node = "22"
python = "3.12"
go = "1.22"
[env]
DATABASE_URL = "postgres://localhost/mydb"
[tasks]
dev = "npm run dev"
test = "pytest"
lint = "ruff check ."Auto-Switching
When you cd into a project, mise automatically activates the right versions:
cd ~/project-a # Node 20, Python 3.11
cd ~/project-b # Node 22, Python 3.12
# No manual switching neededTask Runner
Built-in task runner (replaces Makefile, npm scripts):
mise run dev # Run dev server
mise run test # Run tests
mise run lint # Run linter
mise run deploy # DeployEnvironment Variables
[env]
AWS_PROFILE = "production"
LOG_LEVEL = "debug"
[env.production]
LOG_LEVEL = "error"Performance
Written in Rust — instant version switching:
mise activate: <1ms
nvm use: 200-500ms
pyenv: 100-300msKey Stats
- 12,000+ GitHub stars
- 100+ supported tools
- Written in Rust (instant switching)
- Project-level .mise.toml
- Built-in task runner and env vars
FAQ
Q: What is Mise? A: Mise is a single CLI tool that manages versions of Node, Python, Go, Rust, and 100+ dev tools, replacing nvm, pyenv, rbenv, and dozens of other version managers.
Q: Is Mise free? A: Yes, fully open-source under MIT license.
Q: Is Mise compatible with .nvmrc and .python-version? A: Yes, Mise reads existing .nvmrc, .node-version, .python-version, and .tool-versions files.