version-fox / vfox

A cross-platform and extendable version manager with support for Java, Node.js, Flutter, .Net & more
https://vfox.lhan.me
Apache License 2.0
2.87k stars 102 forks source link
asdf bash cli cmd cross-platform development-tools golang linux lua macos nodejs plugin-manager powershell sdk tools version-manager windows zsh

Logo

vfox

Go Report Card GitHub License GitHub Release Discord

[English] [中文文档]

If you switch between development projects which expect different environments, specifically different runtime versions or ambient libraries, or you are tired of all kinds of cumbersome environment configurations, vfox is the ideal choice for you.

Introduction

vfox is a cross-platform version manager(similar to nvm, fvm, sdkman, asdf-vm, etc.), extendable via plugins. It allows you to quickly install and switch between different environment you need via the command line.

Why use vfox?

Demo

asciicast

Quickstart

For detailed installation instructions, see Quick Start

1. Choose an installation that works for you.

2. ⚠️ Hook vfox 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:
if (-not (Test-Path -Path $PROFILE)) { New-Item -Type File -Path $PROFILE -Force }; Add-Content -Path $PROFILE -Value 'Invoke-Expression "$(vfox activate pwsh)"'

# For Clink:
# 1. Install clink: https://github.com/chrisant996/clink/releases
#    Or Install cmder: https://github.com/cmderdev/cmder/releases
# 2. Find script path: clink info | findstr scripts
# 3. copy internal/shell/clink_vfox.lua to script path

Remember to restart your shell to apply the changes.

3. Add an SDK plugin

$ vfox add nodejs

4. Install a runtime

$ vfox install nodejs@21.5.0

5. Switch runtime

$ vfox use nodejs@21.5.0
$ node -v
21.5.0

Full Documentation

See vfox.lhan.me for full documentation.

Roadmap

Our future plans and high priority features and enhancements are:

Available Plugins

If you have installed vfox, you can view all available plugins with the vfox available command.

For more details, see the Available Plugins.

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 Public Registry

Star History

Star History Chart

Thanks

Thanks JetBrains for the free open source license. :)

Featured|HelloGitHub

COPYRIGHT

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