安利这个https://github.com/gvcgo/version-manager
这是我最近刚体验到的一个新的多版本管理工具,怎么说,还在开发中,有些小问题正在解决,但是他的简洁程度和多版本整合让我感到非常惬意.

安装过程

  • for MacOS/Linux(复制下面的命令到terminal执行即可)

    1
    curl --proto '=https' --tlsv1.2 -sSf https://gvc.1710717.xyz/proxy/https://raw.githubusercontent.com/gvcgo/version-manager/main/scripts/install.sh | sh
  • for Windows(复制下面的命令到powershell中执行即可)

    1
    powershell -nop -c "iex(New-Object Net.WebClient).DownloadString('https://gvc.1710717.xyz/proxy/https://raw.githubusercontent.com/gvcgo/version-manager/main/scripts/install.ps1')"
  • 手动安装(当你的系统下载脚本出现问题时,可以选择手动安装)

    1
    2
    1. 从release页面下载对应的版本;
    2. 解压,打开终端或者Powershell,执行命令"vm is",即可安装。

vm和vfox支持列表对比

(这里真的太棒了,兼容了我所有需要使用的工具)

sdk vm vfox
java(jdk) ✅︎ ✅︎
maven ✅︎ ✅︎
gradle ✅︎ ✅︎
kotlin ✅︎ ✅︎
scala ✅︎ ✅︎
groovy ✅︎ ✅︎
python ✅︎ ✅︎
pypy ✅︎ ❌︎
miniconda ✅︎ ❌︎
go ✅︎ ✅︎
node ✅︎ ✅︎
deno ✅︎ ✅︎
bun ✅︎ ❌︎
flutter(dart) ✅︎ ✅︎
.net ✅︎ ✅︎
zig ✅︎ ✅︎
zls ✅︎ ❌︎
php ✅︎ ✅︎
rust ✅︎ ❌︎
cmdline-tool(android) ✅︎ ❌︎
vlang ✅︎ ❌︎
v-analyzer ✅︎ ❌︎
cygwin-installer ✅︎ ❌︎
msys2-installer ✅︎ ❌︎
julia ✅︎ ❌︎
typst ✅︎ ❌︎
typst-lsp ✅︎ ❌︎
typst-preview ✅︎ ❌︎
gleam ✅︎ ❌︎
git-for-windows ✅︎ ❌︎
neovim ✅︎ ❌︎
vscode ✅︎ ❌︎
protobuf(protoc) ✅︎ ❌︎
lazygit ✅︎ ❌︎
kubectl ✅︎ ❌︎
acast(asciinema) ✅︎ ❌︎
erlang(需要编译) ❌︎ ✅︎
elixir(需要编译) ❌︎ ✅︎

如何设置代理?

代理或者反向代理任选其一进行设置,reverse-proxy由vm免费提供。对于github下载较慢或者失败的情况,你应该用得到。

  • 设置代理

    1
    vm set-proxy <http://localhost:port or socks5://localhost:port>
  • 设置免费的反向代理

    1
    2
    # reverse proxy <https://gvc.1710717.xyz/proxy/> is available for free.
    vm set-reverse-proxy https://gvc.1710717.xyz/proxy/
  • 使用国内镜像资源网站进行下载,对于部分有国内镜像的应用有效.

    1
    vm use -mirror-in-china go@1.22.1

子命令介绍

子命令 参数 功能
list - 显示支持的sdk列表(列表操作:j/k翻动列表,q退出)
search sdk-name 显示该sdk支持的版本列表
use sdk-name@version 安装/切换sdk到指定版本
local sdk-name 显示sdk在本地已安装的版本
uninstall sdk-name@version or sdk-name@all 卸载某个版本或者卸载所有版本
clear-cache sdk-name 清除本地已缓存的压缩文件
set-reverse-proxy https://gvc.1710717.xyz/proxy/ 设置反向代理,用于github下载加速
set-proxy http or socks5( scheme://host:port ) 设置本地代理,可用于任何网站的下载加速
env –remove=false/true 手动设置环境变量,比编辑shell配置文件或者打开windows环境变量管理更方便
install-self - 安装vm到$HOME/.vm,用户一般无需关心
version - 显示vm的版本信息
completion - 生成关于不同shell的自动补全(支持bash、zsh、fish、powershell)

Windows用户须知

注意: 如果你正在使用Win11,那么你需要开启开发者模式,因为vm在创建链接符号时需要相关权限。如果你正在使用Win10,遇到创建链接符号失败的错误时,建议使用管理员权限打开powershell后再重试。在Win下,通过vm安装应用成功之后,如果在当前powershell窗口中找不到该命令,可以关闭当前powershell窗口,再打开一个新的,此时环境变量就生效了,就可以找到相关命令了,这是Win的特性,暂时修正不了。此外,还需注意的是,extFAT和FAT32格式的磁盘不支持创建链接符号,因此,在Windows下务必请使用NTFS格式的磁盘。另外需要注意的是,如果在Windows下,如果开启了Hyper-V,那么vm会与系统自带的vm命令冲突,影响到系统自带的vm命令,这种情况下,vm安装时会进行判断,如果Hyper-V已开启,则vm.exe会被重命名为vmr.exe,用户直接使用vmr命令即可