Repolode
version-fox

version-fox/vfox

A cross-platform version manager for development runtimes like Node.js, Java, Go and Python, extendable through plugins.

Open-source alternative to:nvm

Stars
4,010
Forks
168
Open issues
54
Last commit
2 days ago

What is it?

vfox lets you install and switch between versions of language runtimes and SDKs from the command line. It targets developers who work on several projects that need different runtime versions, and who want one consistent command set instead of a separate tool per language.

Versions can be set per project, per shell, or globally, and vfox switches automatically as you move between project directories. It also reads existing version files such as .node-version, .nvmrc and .sdkmanrc, which eases migration from other managers. Support for each runtime comes from plugins, so new SDKs can be added without changing the core tool.

vfox runs on Windows, Linux and macOS, and provides shell integration for Bash, Zsh, Fish, PowerShell, Clink and Nushell.

Key features

  • 01Installs and switches multiple versions of runtimes such as Node.js, Java, Go and Python.
  • 02Sets versions per project, per shell, or globally.
  • 03Switches versions automatically when changing project directories.
  • 04Reads existing files like .nvmrc and .sdkmanrc.
  • 05Extensible through a plugin system.
  • 06Shell completion for Bash, Zsh, Fish, PowerShell and Clink.

Use cases

  • Working on several projects that require different Node.js or Java versions.
  • Replacing nvm, sdkman or asdf with one tool across languages.
  • Setting up consistent toolchains on Windows and Unix-like systems.

Quick start

  1. 1

    Choose an installation method from the Quick Start guide

  2. 2

    Hook vfox into your shell (bash shown)

    echo 'eval "$(vfox activate bash)"' >> ~/.bashrc
  3. 3

    Add the Node.js plugin

    vfox add nodejs
  4. 4

    Install a Node.js runtime version

    vfox install nodejs@21.5.0

Things to know

  • Requires editing your shell startup files and restarting the shell before it works.
  • Some shells, such as Clink on Windows, need extra manual setup steps.

In collections

Topics

FAQ

What is vfox?
A cross-platform version manager for development runtimes like Node.js, Java, Go and Python, extendable through plugins. vfox lets you install and switch between versions of language runtimes and SDKs from the command line. It targets developers who work on several projects that need different runtime versions, and who want one consistent command set instead of a separate tool per language.
Is vfox free to use? What license does it have?
vfox is open source under the Apache-2.0 license. Check the license terms before using it in commercial products.
Is vfox still maintained?
Actively maintained. The last commit to vfox was on Nov 5, 2026.
What can I use vfox for?
Working on several projects that require different Node.js or Java versions. Replacing nvm, sdkman or asdf with one tool across languages. Setting up consistent toolchains on Windows and Unix-like systems.
How do I install vfox?
Choose an installation method from the Quick Start guide Hook vfox into your shell (bash shown): echo 'eval "$(vfox activate bash)"' >> ~/.bashrc Add the Node.js plugin: vfox add nodejs Install a Node.js runtime version: vfox install nodejs@21.5.0
Where can I get vfox?
The source code and installation instructions are on GitHub: https://github.com/version-fox/vfox

Summary generated by AI from the project's README. GitHub stats refresh daily.

Related projects