Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

awesome-version-managers

A curated list of awesome Version Managers
https://github.com/bernardoduarte/awesome-version-managers

Last synced: 3 days ago
JSON representation

  • Version Managers

    • Node.js

      • nvm - A version manager for Node.js, designed to be installed per user, and invoked per shell.
      • nvm-windows - Same of nvm, but for Windows.
      • fnm - Fast and simple Node.js version manager built in Rust
      • n - An interactive manager that has no subshells and no profile setup.
      • volta - A JavaScript tool manager, designed to provide seamless, fully isolated node environments.
      • nodenv - A tool that can automatically select the appropriate node version for a given project and doesn't require shell integration or overriding of builtin commands.
      • nvs - A cross-platform utility for switching between different versions and forks of Node.js.
      • nodebrew - A simple Node.js version manager.
      • nve - Run any command on specific Node.js versions.
      • chnode - A lightweight Node.js version switcher that allows for auto-switching by updating the PATH, inspired by chruby.
      • pnpm - A fast and disk space efficient package manager that can also manage Node.js versions via it's env command.
      • nvm-rust - A cross platform Node.js version manager made in Rust.
    • Go

      • goenv - Version manager like pyenv and rbenv, but for Go.
      • gvm - An interface to manage Go versions.
      • g - A simples Go version manager inspired by `n`.
      • g - A command-line tool for Linux, macOS, and Windows that provides convenient management and switching of multiple versions of the Go environment.
      • goup - An elegant version manager written in Go that is installed with a one-liner and that work well on all Linux distros.
      • goenv - Version manager like pyenv and rbenv, but for Go.
    • Swift

      • swiftenv - A Swift manager that changes version per user, set a per-project version and allows you to override the version with an environmental variable.
      • swiftly - A CLI tool for installing, managing, and switching between Swift toolchains, written in Swift.
    • Xcode

      • Xcodes.app - An app that offers the easiest way to install and switch between multiple versions of Xcode.
      • xcodes - A command-line tool to install and switch between multiple versions of Xcode.
    • Generic

      • anyenv - A version manager wrapper allowing maintenance of multiple version managers.
      • aqua - Declarative CLI Version manager written in Go. Support Lazy Install, Registry, and continuous update with Renovate. CLI version is switched seamlessly.
      • asdf-vm - An extendable version manager using a plugin structure to handle new version managers.
      • mise - An `asdf` drop-in replacement written in Rust.
      • proto - A pluggable next-generation version manager for multiple programming languages as unified toolchain.
      • vfox - A cross-platform, extensible version manager. It supports native Windows and Unix-like.
      • woof - A Bash-based version manager with plugin support optimized for UX
      • spack - A flexible package manager that supports multiple versions, configurations, platforms, and compilers.
      • pkgx - A blazingly fast, standalone, cross‐platform binary that runs anything in any version with zero system impact.
      • vmr - A simple, cross-platform, and well-tested version manager for programming languages and tools.
    • Python

      • pyenv - A tool that allows you to switch between multiple versions of Python.
      • pyenv-win - A porting of pyenv for Windows.
      • pyflow - A multipurpose Python environment manager.
      • pythonz - A program to automate the building and installation of Python versions.
    • Ruby

      • rbenv - A manager that focus on switching Ruby versions.
      • rbenv-win - A porting of rbenv to Windows.
      • rvm - A tool that is loaded into the shell, overrides some commands and also manages gemsets.
      • uru - A lightweight, multi-platform command line tool that helps you use the multiple rubies, like MRI, JRuby and Rubinius.
      • chruby - A Ruby version switcher that allows for auto-switching, updates PATH and has around 100 lines of code.
      • frum - A fast and modern Ruby version manager written in Rust that is also cross-platform.
    • Rust

      • rustup - A manager that installs Rust from official release channels and allows to switch between stable, beta, and nightly compilers.
    • Java

      • jenv - A cross-platform tool for managing parallel Versions of JDKs which allows for installing, switching, removing and listing candidates.
      • jEnv - A version switcher for Java that does not handle installation.
      • jabba - A cross-platform Java manager that allows for installation and switching of JDKs.
      • jvms - A JDK version manager for Windows made in Go.
    • JVM

      • SDKMAN! - Install Software Development Kits for the JVM such as Java, Scala, Kotlin and Groovy. Ant, Gradle, Grails, Maven, SBT, Spark, Spring Boot, Vert.x and many others also supported.
    • PHP

      • phpbrew - A utility that builds and installs multiple version of PHP in your HOME directory allowing of switching between them.
      • phpenv - A version manager that operates binaries on the user directory and utilizes shims.
    • Perl

      • perlbrew - A tool that manages multiple Perl environments and allows switching between them.
      • plenv - A manager that installs multiple versions on the home directory, uses shims and allows to set local version per directory.
    • Lua

      • luaver - A helper to manage and switch between different versions of Lua, LuaJIT and Luarocks.
      • lenv - A Lua version manager that allows installation and switching between multiple versions.
    • Elixir

      • kiex - A utility that allows build and switch between different Elixir versions.
      • exenv - A Elixir version manager based on rbenv.
    • Erlang

      • evm - A tool that allows you to install multiple versions of erlang on your system and switch between them.
      • kerl - A POSIX shell tool for building and installing Erlang/OTP instances allowing for easy switches between those installations.
    • Julia

      • juliavm - A CLI tool which allows you to install, manage, and work with Julia environments and switch between them.
      • jlenv - A Julia version manager based on rbenv.
    • Crystal

      • crenv - A Crystal version manager based on rbenv.
    • Flutter

      • fvm - A version manager allowing to reference Flutter SDK version on a per-project basis, allows you to have multiple versions installed.
    • Scala

      • svm - A version manager that switches and installs multiple Scala versions.
    • Terraform

      • tfenv - A Terraform version manager inspired by rbenv.
    • OpenTofu

      • tofuenv - A OpenTofu version manager inspired by tfenv.
      • tenv - A versatile version manager for OpenTofu, Terraform and Terragrunt, written in Go.
    • CMake

      • cvm - A cross platform command-line tool that help manage currently installed versions of CMake.
    • Unity

      • uvm - A tool which allows to install and manage multiple Unity versions on a system from the command-line that is also compatible with Unity-Hub.
    • Godot

      • Godots - An app that manages your Godot versions and projects with support for all platforms while also allowing for theming.
      • Godot Manager - An app made in C# that can manage the engine versions of Godot from the official Github repository, as well as getting updates from new releases.
      • Hourglass - A project manager that can also manage multiple versions of Godot engine with just a few clicks and that supports custom engine builds.
      • GVM - A simple app that can install and remove any version of Godot, even the alpha, beta, rc and dev versions.
    • R

      • rig - A cross platform R version manager with no system requirements on any platform.
    • Zig

      • zvm - A version manager made in Go that works on Linux, BSD, MacOS, *nix systems including Windows.
      • zigup - A Zig version manager made entirely with Zig.
    • Neovim

      • bob - A cross-platform and easy-to-use Neovim version manager, allowing for easy switching between versions right from the command line.
    • Lean

      • elan - A small tool for managing your installations of the Lean theorem prover that is also the recommended way to set up in their documentation.