vfox

跨平台、可拓展的通用版本管理器

简介

vfox

vfox 是一款跨平台、可拓展的通用版本管理器。类似nvm、fvm、sdkman、asdf-vm。

Apple


仓库地址https://github.com/version-fox/vfox
文档https://vfox.lhan.me/zh-hans/guides/intro.html
网站https://vfox.lhan.me/zh-hans/

功能

安装

1. 安装软件包

shell
1
yay -S vfox

shell
1
2
3
echo "deb [trusted=yes] https://apt.fury.io/versionfox/ /" | sudo tee /etc/apt/sources.list.d/versionfox.list
sudo apt-get update
sudo apt-get install vfox

shell
1
curl -sSL https://raw.githubusercontent.com/version-fox/vfox/main/install.sh | bash
shell
1
winget install vfox

shell
1
scoop install vfox

前往 Releases 页面下载最新版本的 setup 安装器,然后按照安装向导进行安装。

如果下载的 zip包,记得配置 PATH 环境变量,将vfox安装目录添加到 PATH 环境变量中。

shell
1
brew install vfox

2. 挂载到SHELL

bash
1
echo 'eval "$(vfox activate bash)"' >> ~/.bashrc
zsh
1
echo 'eval "$(vfox activate zsh)"' >> ~/.zshrc
PowerShell
1
if (-not (Test-Path -Path $PROFILE)) { New-Item -Type File -Path $PROFILE -Force }; Add-Content -Path $PROFILE -Value 'Invoke-Expression "$(vfox activate pwsh)"'

如果 PowerShell 提示:在此系统上禁止运行脚本,那么请你以管理员身份重新运行 PowerShell输入如下命令

PowerShell
1
2
3
Set-ExecutionPolicy -ExecutionPolicy RemoteSigned
# 之后输入 Y,按回车
y

3. 安装插件

安装了vfox后,你还做不了任何事情,还需要先安装相应的插件。

命令: vfox add <plugin-name>

如:

shell
1
vfox add nodejs

4. 安装运行时

在插件成功安装之后, 你就可以安装对应版本的SDK了。

命令: vfox install nodejs@<version>

如:

shell
1
2
3
4
vfox install nodejs@latest

# 也可以指定版本
vfox install [email protected]

5. 切换运行时

命令: vfox use [-p -g -s] nodejs[@<version>]

  • -g global-设置一个全局版本
    • vfox use -g nodejs
    • 默认配置文件:$HOME/.version-fox/.tool-versions
  • -p project-不同项目不同版本
    • vfox use -p nodejs
    • 默认配置文件:$PWD/.tool-versions (当前工作目录)
  • -s session-不同Shell不同版本
    • vfox use -s nodejs
    • 临时使用,关闭当前终端时,vfox 会自动切换回全局版本/项目版本。
    • 默认配置文件:$HOME/.version-fox/tmp/<shell-pid>/.tool-versions (临时目录)

常用命令

vfox available列出所有可用插件
vfox add <plugin_name>安装插件
vfox remove <plugin_name>卸载插件
vfox update <plugin_name>更新插件
vfox update –all更新所有插件
vfox search <sdk_name>查找sdk
vfox install <sdk_name>安装sdk
vfox uninstall <sdk_name>卸载sdk
vfox use <sdk_name>使用sdk
vfox current <sdk_name>当前使用的sdk

参考