很多人同时用 macOS 和 Windows,或者同一台机器要做多个项目:Node 版本不一致、Python 虚拟环境散落、Go 工具链升级后兼容性出问题,最终变成“能跑但不敢动”。mise(原 rtx)提供一种更统一的做法:用同一套命令管理多语言运行时与常用 CLI,并支持按项目锁定版本。
GitHub:https://github.com/jdx/mise
macOS(Homebrew)
brew install mise
Windows(Scoop)
scoop install mise
如果你没有安装包管理器,可先参考其官方文档按平台安装。建议把安装步骤纳入团队的环境准备说明,避免每个人“各装各的”。
mise 需要在你的 shell 启动脚本里启用(不同 shell 的写法略有差异)。下面给出一个通用思路:先让 mise 生成/提示需要追加的配置,然后重启终端。
mise --help
mise activate
说明:你可以把生成的初始化片段加入 .zshrc / .bashrc / PowerShell Profile 中。若公司环境有统一的 dotfiles 仓库,建议把这一步固化下来。
先安装插件,再安装你需要的版本(示例版本仅作参考,按项目要求选择):
mise plugin add node
mise plugin add python
mise plugin add go
mise install node@20
mise install python@3.12
mise install go@1.22
安装完成后可查看已安装版本与当前生效版本:
mise list
mise current
对个人常用工具,可设置全局默认版本;对项目,建议用项目级文件锁定版本,让 CI、本地与同事环境一致。
全局示例
mise use -g node@20
项目级示例(在项目目录执行)
mise use node@20
mise use python@3.12
这会在项目根目录写入配置(常见为 .mise.toml 或兼容的版本文件)。把它提交到仓库后,新同事只需 mise install 就能对齐环境。
除了语言运行时,你还可以把部分常用 CLI 固定到一致版本,减少机器差异带来的问题(例如格式化工具、构建工具等)。思路是:先确认工具是否有可管理的插件/安装方式,再按项目需要锁定。
建议原则:
1) 团队统一:写入项目级配置;2) 可复现:CI 也用同样方式安装;3) 安全合规:只使用官方渠道与校验过的来源。
1) 确认终端已重新加载 shell 配置;2) 检查是否执行了激活步骤;3) 运行 mise doctor(如有)查看诊断信息;4) 用 where(Windows)或 which(macOS/Linux)确认命令来自哪里。
mise --version
把“安装说明”升级为“可复现环境”:项目级版本锁定 + 一条安装命令 + 文档链接。mise 的价值不在于再装一个工具,而在于让你和团队减少环境漂移,把时间花在真正的开发与交付上。