是什么
mise(读作 “my-see”)是一款用 Rust 编写的多语言运行时与任务管理器,可以替代 asdf、nvm、pyenv、rbenv、gvm 等传统版本管理工具的组合。它通过项目根目录下的 .mise.toml(也兼容 .tool-versions、.mise.config 等)声明所需的语言版本、环境变量与工具,进入目录时自动切换,从而让团队环境保持一致。
为什么收藏
- 单一工具覆盖 Node、Python、Go、Rust、Ruby、Java 等数百种运行时,无需再拼装 nvm/pyenv/asdf
- Rust 实现,启动与版本解析速度远快于基于 Shell 的 asdf
- 一条命令安装并切换任意版本:
mise use node@22、mise install - 内置任务运行器(mise tasks),用
.mise.toml的[tasks.*]替代 Makefile 的常见用法,支持依赖、并行与自动补全 - 统一管理环境变量与
PATH,可作为 dotfiles 环境声明的中心 - 插件兼容 asdf 生态,同时提供原生 registry,安装更可靠
常用入口
- 安装:
curl https://mise.run | sh,或各平台包管理器(brew、cargo、pacman 等) - 声明版本:在项目根写
.mise.toml,如[tools] node = "22"、python = "3.12" - 应用配置:
mise install拉取声明的运行时,mise use更新并写入配置 - 查看与切换:
mise ls、mise current、mise doctor排查环境变量钩子 - 运行任务:
mise run <task>(简写mise <task>),mise tasks列出可用任务 - 全局设置:
mise settings管理语言版本、缓存与 shell 集成