mise 使用教程 — 在 Linux/macOS 上管理 Node/Python 多版本
本文最后更新于:2026年8月7日 下午
mise 是什么
mise(前身 rtx)是一个用 Rust 编写的开发工具版本管理器:一个命令同时管理 Node.js、Python、Java、Go、Ruby 等 400+ 工具的安装与版本切换。
相比”一个语言一个管理器”(nvm + pyenv + …)或 asdf,mise 的特点是:
- 内置常用插件,无需额外安装插件
- 配置即代码:项目根目录的
.mise.toml提交到 git,团队成员 clone 后mise install即可复现环境 - 天然支持同语言多版本并存,按全局 / 项目 / 临时三种粒度切换
- 附带 task runner 和 env 变量管理,可替代 Makefile + direnv 的部分场景
安装
Linux / macOS
1 | |
macOS 也可以用 Homebrew:
1 | |
安装后把 mise 挂到 shell(bash 为例):
1 | |
- zsh:
eval "$(~/.local/bin/mise activate zsh)" - fish:
~/.local/bin/mise activate fish | source - Windows PowerShell:
irm https://mise.jdx.dev/install.ps1 | iex(WSL 用户直接装进 WSL 即可)
安装多版本 Node
1 | |
安装完成即用,npm/npx/yarn/corepack 随对应 Node 版本自带,不需要再单独装。
三种粒度切换
全局默认(默认 shell 里用 22):
1 | |
项目级(在该目录下生成 .mise.toml,进入目录 node 自动切到 20):
1 | |
临时(仅本次命令用 18):
1 | |
验证当前生效版本:
1 | |
安装多版本 Python
Python 在 Linux 上默认从源码编译,先装编译依赖(Ubuntu/Debian):
1 | |
1 | |
较新版本的 mise 支持直接下载预编译 Python 跳过编译:
1 | |
(视版本而定,没有该选项就保持默认源码编译。)
pip 跟随解释器版本;虚拟环境按习惯用 python -m venv .venv 或 uv。
一份 .mise.toml 同时管 Node 和 Python
1 | |
[tools]里同工具写成数组即可多版本并存,用mise exec nodejs@20 -- node -v按需调用[env]在该目录自动注入环境变量[tasks]用mise run dev/mise run test执行- 把
.mise.toml提交进 git,别人 clone 后mise install一次装齐 - 兼容旧的
.node-version/.python-version文件,从 nvm/pyenv 迁移无需改项目 - 首次在陌生目录使用会提示确认,
mise trust信任该目录
常用命令速查
| 命令 | 作用 |
|---|---|
mise ls-remote nodejs |
列出远端可用版本 |
mise install nodejs@22 |
安装指定版本 |
mise use nodejs@22 |
项目内使用(写入 .mise.toml) |
mise use -g nodejs@lts |
设为全局默认 |
mise exec nodejs@20 -- node -v |
临时指定版本执行命令 |
mise ls |
列出已安装版本 |
mise current |
显示当前生效版本 |
mise which node |
显示当前二进制路径 |
mise uninstall nodejs@20 |
卸载版本 |
mise prune |
清理未使用版本 |
mise outdated |
检查过期版本 |
mise upgrade --bump |
升级到最新 |
mise env |
导出环境变量 |
mise doctor |
环境自检 |
mise trust |
信任目录配置 |
mise self-update |
升级 mise 本体 |
与主流方案对比
| 方案 | 覆盖 | 配置文件 | 特点 |
|---|---|---|---|
| nvm | 仅 Node | .nvmrc | 每开新 shell 需 source,慢 |
| fnm | 仅 Node | .node-version | Rust 实现,快 |
| volta | 仅 Node | package.json engines | 自动切换,二进制分发 |
| pyenv | 仅 Python | .python-version | 源码编译,需装编译依赖 |
| uv | 仅 Python | pyproject.toml | 极快,兼管解释器与依赖 |
| asdf | 多语言 | .tool-versions | 插件生态,但较慢 |
| mise | 多语言 | .mise.toml | Rust 实现,内置任务/环境变量,兼容 asdf 插件 |
进阶
- CI:GitHub Actions 直接用
jdx/mise-action - IDE:编辑器不经过 shell hook 时,把
~/.local/share/mise/shims加入 PATH - Docker:镜像内
mise install --yes静默安装 - 代理环境:设置
HTTPS_PROXY即可
mise 使用教程 — 在 Linux/macOS 上管理 Node/Python 多版本
https://kingjem.github.io/2026/08/07/mise-使用教程-多版本管理Node-Python/