VersionFox

[English] [中文文档]
Introduction
VersionFox is a cross-platform tool for managing SDK versions. It allows you to quickly install
and switch between different versions of SDKs using the command line.
SDKs are provided as plugins in the form of Lua scripts. This means you can implement your own SDK sources or use
plugins shared by others to install SDKs. It all depends on your imagination. ;)
Why use VersionFox?
- cross-platform support (Windows, Linux, macOS)
- single CLI for multiple languages
- consistent commands to manage all your languages
- support Global、Project、Session scopes when switching versions
- simple plugin system to add support for your language of choice
- automatically switches runtime versions as you traverse your project
- shell completion available for common shells (Bash, Zsh, Powershell)
- it's faster than
asdf-vm, and offers more simple commands and genuine cross-platform unification. see What-is-the-difference-with-asdf?
Demo

Quickstart
Install VersionFox (For detailed installation see Installation)
$ brew tap version-fox/tap
$ brew install vfox
⚠️ Hook VersionFox into your shell (pick one that works for your shell) ⚠️
echo 'eval "$(vfox activate bash)"' >> ~/.bashrc
echo 'eval "$(vfox activate zsh)"' >> ~/.zshrc
echo 'vfox activate fish | source' >> ~/.config/fish/config.fish
# For PowerShell, add the following line to your $PROFILE:
Invoke-Expression "$(vfox activate pwsh)"
Add an SDK plugin (For detailed usage see Getting Started)
NOTE: if you don’t know which plugins to add, you can use the vfox available command to check all available plugins
$ vfox add nodejs/nodejs
Install an SDK version
$ vfox install nodejs@21.5.0
Use the installed SDK version
$ vfox use nodejs@21.5.0
$ node -v
21.5.0
Documentation
For more information, read the Wiki.
Supported Plugins
If you have installed vfox, you can view all available plugins with the vfox available command.

For more details, see the version-fox-plugins
FAQ
1.Switch xxx not work or the vfox use command does not work ?
If your shell prompt Warning: The current shell lacks hook support or configuration. It has switched to global scope automatically that
means you do not hook vfox into your shell, please hook it manually first.
See issue#35
Contributors
Thanks to following people who contributed to this project. 🎉🎉🙏🙏
Contributing
Bug reports, contributions and forks are welcome. All bugs or other forms of discussion happen on issues.
See more at CONTRIBUTING.md.
Plugin Contributions, please go to version-fox-plugins.
Star History

COPYRIGHT
Apache 2.0 license - Copyright (C) 2024 Han Li and contributors