
近日,跨平台 SDK 版本管理工具 vmr (Version Manager) 迎来重要更新。作为一款专为现代开发者设计的轻量级工具,vmr 致力于解决开发者在同一台机器上管理多套开发工具(如 Go、Node.js、Python、JDK、Rust、Lua 等)版本的痛点,实现“一条命令装、切、卸”,无需管理员权限,绝不污染系统目录。
🌟 核心亮点
- 智能上下文感知,开发体验无缝衔接
- 项目级锁定:在项目根目录执行锁定后,每次
cd 进入该目录会自动切换到指定版本,离开后自动还原。生成的 .vmr.lock 文件可提交至仓库,确保团队成员环境绝对对齐。
- 会话隔离:支持临时开启子 shell 测试新版本(
vmr use -s),退出即自动恢复全局设置,完美契合“只想在当前终端试一下”的轻量级场景。
- Rust重构,体积更小,速度更快
- 突破边界的扩展能力与极致性能
- 内置 conda-forge 支持:不仅管理常规 SDK,更内置
pixi 安装能力,可直接安装任意 conda-forge 包,无需预装臃肿的 conda/miniconda。
- 高速下载与灵活网络配置:原生支持多线程下载、文件校验和,并完美兼容反向代理、本地代理与
HTTP(S)_PROXY,大幅提升复杂网络环境下的安装成功率与速度。
- 一键迁移:通过
vmr freeze 导出纯文本版本清单,在新机器上通过 vmr use -f 即可一键批量还原,环境配置从未如此简单。
🆚 为什么选择 vmr?(对比主流工具)
- 对比
nvm:nvm 仅专注于 Node.js 生态;而 vmr 是真正的全栈多语言管理器,且提供了更现代的项目级自动切换与会话隔离体验。
- 对比
asdf:asdf 高度依赖社区插件且单线程下载速度常受诟病;vmr 原生提供多线程下载与完善的代理配置,且项目级锁定机制开箱即用,无需复杂配置。
- 对比
vfox:在同样优秀的跨平台多语言支持基础上,vmr 不仅拥有插件系统,还内置了 conda-forge 包管理能力,打破了传统 SDK 管理器的边界,生态扩展性更强,真正做到了“一个工具管理所有开发依赖”。
🚀 快速体验
# 查看支持的 SDK 插件
vmr plugins
# 搜索并安装指定版本
vmr search go
vmr use go@1.22.0
# 为当前项目锁定版本(自动生成 .vmr.lock)
vmr use -l node@20.11.0
# 临时开启会话测试新版本
vmr use -s python@3.12.2
# 导出/迁移环境
vmr freeze > vmr_list.txt
vmr use -f vmr_list.txt
支持平台:Linux / macOS / Windows (全面支持 x86_64 与 aarch64 预编译包)
项目地址:https://github.com/gvcgo/version-manager
中文文档:https://github.com/gvcgo/version-manager/blob/main/README_CN.md
欢迎 Star 关注、提交 Issue 或参与贡献,一起打造更优雅、高效的开发者环境管理体验!