如何使用 mise 版本管理:安装 mise、激活 shell、安装 Node/Python 与项目 .mise.toml

装好 mise 并写 .mise.toml,让 Node/Python 随仓库目录自动对齐。

换仓库就要切 Node 或 Python 版本,nvm、pyenv 各管一套,CI 和 README 又对不上。mise(原 rtx)用一份配置在进目录时自动选工具版本,并能把版本写进仓库里的 .mise.toml。

搜索 mise 版本管理 安装 Node Python .mise.toml 的人,通常要完成:安装 mise、在 shell 里激活、安装 Node/Python 运行时、在项目里提交 .mise.toml 并让队友 mise install 对齐。步骤以官方文档 mise.jdx.dev 为准。

安装 miseactivate shell装 Node/Python · 写 .mise.toml

mise 适合谁

01

多仓库、多版本的全栈开发者

一个 CLI 管 Node、Python、Ruby、Terraform 等;进目录自动切换,不必手动 nvm use。

02

要写进 Git 的团队

.mise.toml 或 mise.toml 可提交,新人 clone 后 mise install 即可。

03

想统一本地与文档的人

README 写「Node 22 + Python 3.12」时,配置文件比口头约定更可核对。

安装 mise(macOS / Linux)

  1. 1

    官方安装脚本(通用)

    在终端执行官方 Getting Started 中的命令,例如 curl https://mise.run | sh。装完后新开一个终端,运行 mise --version 确认 CLI 在 PATH 里。

  2. 2

    macOS:Homebrew 可选

    若已用 Homebrew,也可 brew install mise。无论哪种方式,都以 mise.jdx.dev 当前安装页为准,不要混用未文档化的第三方脚本。

  3. 3

    Linux 包管理器

    部分发行版提供社区包;若文档列出 apt/dnf 源,按对应章节安装。装完同样用 mise --version 验证。

  4. 4

    Windows

    官方支持 Windows(含 WSL 场景)。本文步骤以 macOS/Linux 终端为主;Windows 路径见文档的 Windows 小节。

激活 shell(必做)

mise 需要在 shell 启动时 hook 进 PATH,否则 node / python 不会随目录切换。把下面一行写进对应 rc 文件(以文档为准):

# zsh (~/.zshrc)
eval "$(mise activate zsh)"

# bash (~/.bashrc)
eval "$(mise activate bash)"

# fish (~/.config/fish/config.fish)
mise activate fish | source

保存后 source 该文件或重开终端。运行 mise doctor(若可用)或 type mise 确认激活无报错。

安装 Node 与 Python 运行时

  1. 1

    显式安装版本

    mise install node@22 与 mise install python@3.12 会按 mise 后端下载并缓存工具。首次可能稍慢,取决于网络。

  2. 2

    当前目录启用

    mise use node@22 python@3.12 会在当前目录写入/更新配置(或 .mise.toml)。再运行 node -v、python3 --version 核对。

  3. 3

    可选:全局默认

    mise use --global node@22 给个人机器设默认;团队仍以仓库内 .mise.toml 为准。

  4. 4

    查看已装工具

    mise ls 列出已安装版本;which node 应指向 mise 管理的 shim 路径。

项目里的 .mise.toml

在仓库根目录创建 .mise.toml(或文档允许的 mise.toml),提交到 Git:

[tools]
node = "22"
python = "3.12"

[env]
PROJECT_ENV = "dev"

队友 clone 后在该目录执行 mise trust(若提示信任配置),再 mise install 安装缺失版本。进入目录时 mise 应自动切换 node / python。

命令作用何时用
mise install按配置安装缺失工具clone 后 / CI 本地
mise use node@22写入当前目录版本初始化项目
mise ls --current当前目录生效版本排错
mise uninstall node@20删除缓存的旧版本腾磁盘

mise 管的是开发机上的工具版本,不替代 Docker 镜像或生产运行时。容器内版本请在 Dockerfile / compose 里单独 pin。

版本对齐后若要远程结对改架构或语音过一遍环境变量,可从 wbroom 首页 开浏览器房间,见 创建与加入房间。

还想核对的问题

mise 和 asdf、nvm 能一起装吗?

可以并存,但多个版本管理器同时改 PATH 容易冲突。团队项目建议只保留 mise(或只保留 asdf),并在 shell rc 里只激活一个。官方文档有从 asdf 迁移的说明。

进目录没有自动切换版本?

检查 shell 是否 eval "$(mise activate …)"、是否在含 .mise.toml 的目录、是否已 mise trust。IDE 内置终端有时不读 rc,请在系统终端验证。

CI 里怎么用?

在 pipeline 安装 mise 后运行 mise install,再执行 mise exec -- npm test 等(具体子命令见文档 Tasks/CI 章节)。不要在日志里打印密钥。

.tool-versions 和 .mise.toml 选哪个?

mise 可读 asdf 风格的 .tool-versions,也支持 TOML。新项目推荐 .mise.toml,便于加 [env] 等块;已有 asdf 文件可先沿用再逐步迁移。

开始一场会议