nvm is a free, MIT-licensed command-line tool for installing and using different Node.js versions.
Alternatives to GHCup
GHCup centers on the Haskell toolchain: it installs and manages GHC, cabal-install, HLS, and Stack, and Stack can use GHC versions managed through GHCup. It also supports shell integration, a TUI, cross-compilation, and CI/CD use. It is free and open source. Its scope is narrower than a general development-environment manager, and it does not pin versions per project or switch automatically. Windows support is described as early-stage; WSL1 and macOS versions earlier than…
Jabba is a free, open-source Java version manager written in Go for installing and switching between JDK versions on macOS, Linux, and Windows.
rustup installs Rust from official release channels and helps developers manage the compiler versions and supporting tools they use.
- 4
axe-playwright
axe-playwright connects the axe-core accessibility testing engine to Playwright tests.
Free planWebLinux6.4Free plan - 56.2Free plan
- 6

mise
mise is an open-source tool for managing development tools, environment variables, and project tasks through a project configuration file.
Free planLinuxmacOSWindows6.2Free plan - 7
ClearerVoice-Studio
ClearerVoice-Studio is a free, open-source AI toolkit for speech processing.
WebLinuxmacOSSelf-hosted6.1 - 8
fnm
fnm is a free Node.js version manager built in Rust for developers who manage versions from a command line or shell.
Free planLinuxmacOSWindows6.1Free plan - 96.1Free plan
- 10
nodenv
nodenv manages Node.js versions so you can use different versions for projects on the same machine.
Free planLinuxmacOS6.1Free plan - 11
perlbrew
perlbrew is a free, open-source tool for managing multiple Perl installations without administrator privileges.
Free planLinuxmacOSSelf-hosted6.1Free plan - 12
plenv
plenv is a free Perl version manager that lets users select the interpreter an application uses, helping align development with production.
Free planLinuxmacOS6.1Free plan - 13
RVM
RVM is a command-line tool for installing and managing multiple Ruby environments, from interpreters to gem sets.
WebLinuxmacOSSelf-hosted6.1 - 14
chruby
chruby is a command-line tool for selecting the Ruby version used in a shell.
Free planLinuxmacOS6.0Free plan - 15
elan
elan manages installations of the Lean theorem prover on Linux, macOS, and Windows.
Free planLinuxmacOSWindows6.0Free plan - 16
goenv
goenv manages Go versions on Linux and macOS, with choices for a global setup, a particular project, or an environment-variable override.
Free planLinuxmacOS6.0Free plan - 17
pyenv
pyenv is a free, MIT-licensed tool for switching between Python versions on Linux/Unix-like systems and macOS.
Free planLinuxmacOSSelf-hosted6.0Free plan - 18
rbenv
rbenv manages Ruby versions on Linux and macOS, letting projects use the version they require.
Free planLinuxmacOS6.0Free plan - 19

SDKMAN!
SDKMAN! is a free command-line tool and API for managing Software Development Kits in the JVM ecosystem.
APILinuxmacOSWindows6.0 - 20
SteamTinkerLaunch
SteamTinkerLaunch is a free Linux wrapper for Steam that provides graphical configuration for game tools and launch options.
Free planLinux5.9Free plan - 21
PHPBrew
PHPBrew is a free tool for building and managing multiple PHP versions in a user’s home directory, including for users without root permission.
Free planLinuxmacOSSelf-hosted5.8Free plan - 22
tenv
tenv is a free Go version manager for OpenTofu, Terraform, Terragrunt, Terramate and Atmos.
LinuxmacOSWindows5.8 - 235.8
- 24
jEnv
LinuxmacOS5.6 - 25
Volta
Volta manages JavaScript command-line tools and can keep a project on a specified Node version.
LinuxmacOSWindows5.6 - 26
DVM
LinuxmacOSWindows5.5 - 27
juliaup
LinuxmacOSWindows5.5 - 28
xNVSE
xNVSE is a free Windows project that expands Fallout: New Vegas engine and scripting capabilities for modders and script authors.
Windows5.4 - 29
eselect-python
Linux4.4
