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. ;)
- 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?
Install VersionFox (For detailed installation see Installation)
$ brew tap version-fox/tap
$ brew install vfox
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
- Getting Started
- Commands Overview
- How to write a custom plugin?
- What is the difference with asdf-vm?
For more information, read the Wiki.
If you have installed
vfox
, you can view all available plugins with thevfox available
command.
For more details, see the version-fox-plugins
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
Thanks to following people who contributed to this project. 🎉🎉🙏🙏
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.
Apache 2.0 license - Copyright (C) 2024 Han Li and contributors