vm (version-manager)是一个简单,跨平台,并且经过良好测试的版本管理工具。它完全是为了通用目的而创建的。无需插件,开箱即用。
可能你已经听说过fnm, sdkman, gvm, nvm, pyenv, phpenv 等工具。然而,这些工具都不能管理多种编程语言,甚至有些看起来会比较复杂。而vm支持了国内程序员常用的几乎所有编程语言,并且支持了vlang、zig、typst等新兴的有一定潜力的语言,它隔离并缓存了爬虫部分的结果,而不是让爬虫变成lua插件,所以vm能让用户体验更流畅和稳定。此外,vm还支持了反向代理或者本地代理设置,多线程下载等,大大提高国内用户的下载体验。因此,不管你是老鸟还是菜鸟,vm都能给你带来相当的便利。你不用再手动去找任何资源,就能轻松安装管理各种sdk版本,尝试新的语言,新的特性。最后,vm将这些sdk或工具集中管理,对于有洁癖的人来说,也是福音。
功能特点
- 安装或卸载某个版本的sdk;
- 在不同版本的sdk之间切换;
- 支持session模式,即在某个终端会话临时激活并使用某个版本。可使用vm use -h命令查看如何使用。默认global模式,即全局生效;
- 一键管理环境变量;
- 对neovim和vscode用户友好,可以一键安装neovim和vscode。同时,neovim中一些明星插件的安装也可以一键完成,例如fd,ripgrep,tree-sitter,fzf等;
- 相比其他版本管理器来说要更稳定;
- 支持多线程下载,速度飞快🚀🚀🚀,可使用vm use -h命令查看用法;
- 无需任何插件,开箱即用;
- 命令行自动补全;使用vm completion -h查看;
session模式解释: 基于pty和conpty虚拟终端实现,即可以在虚拟终端中激活某个特定sdk版本,具体命令示例:vm use -s go@1.22.1。当退出虚拟终端时,原来的sdk版本不受影响。对于希望临时使用某个版本的情况,相对方便,省去一次切换。
MacOS示例
Windows示例
Linux演示
评论