ankit-pn / vfox

A cross-platform and extendable version manager with support for Java, Node.js, Flutter, .Net & more

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Logo

VersionFox

Go Report Card GitHub GitHub release

[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 GlobalProjectSession 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

asciicast

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.

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

Star History Chart

COPYRIGHT

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

About

A cross-platform and extendable version manager with support for Java, Node.js, Flutter, .Net & more

License:Apache License 2.0


Languages

Language:Go 93.0%Language:Inno Setup 3.4%Language:Lua 1.7%Language:Shell 1.6%Language:PowerShell 0.3%