For a version control system for software development, the strongest matches are asdf-vm/asdf (asdf-vm is a unified CLI version manager that supports), volta-cli/volta (Volta is a dedicated version manager for the JavaScript) and rbenv/rbenv (rbenv is a dedicated Ruby version manager that uses). yyuu/pyenv and pyenv-win/pyenv-win round out the shortlist. Each is ranked by relevance to your query, popularity and recent activity.
बेहतरीन वर्ज़न कंट्रोल सिस्टम खोजें। अपने प्रोजेक्ट के लिए सबसे सही विकल्प खोजने हेतु टॉप-रेटेड टूल्स की फीचर्स, एक्टिविटी और कम्युनिटी सपोर्ट की तुलना करें।
This project is a command-line tool designed to manage multiple versions of programming language runtimes and development tools on a single machine. It provides a unified interface for installing and switching between different versions of software, ensuring that specific tool versions are consistently applied across various development environments. The system distinguishes itself through a modular, plugin-driven architecture that allows for the integration of new languages and tools via external scripts. It utilizes a shim-based execution mechanism that intercepts command calls, automatical
asdf-vm is a unified CLI version manager that supports multiple languages via a plugin system, uses shims for seamless version switching, and automatically detects per-project versions through .tool-versions files, making it an ideal fit for managing development tool versions.
Volta is a cross-platform toolchain orchestrator and JavaScript toolchain manager. It functions as a version manager for Node.js and related package managers, allowing for the installation and coordination of multiple runtimes across a system. The project operates as a project-based version switcher, automatically detecting and switching to the required tool versions based on the current directory. This ensures environment consistency across different developer machines by resolving versions through project configuration.
Volta is a dedicated version manager for the JavaScript toolchain (Node.js, npm, Yarn) that automatically switches versions per project via command shims, fitting the version-manager category cleanly but limited to one language ecosystem rather than covering multiple programming languages as requested.
rbenv is a Ruby version manager and shell environment manager designed to install, switch between, and manage multiple versions of the Ruby programming language. It functions as a project runtime isolator and an extensible versioning framework that ensures the correct Ruby binaries are executed based on the current context. The system uses a shim-based command interception model to resolve the active version before delegating execution to the binary. It allows for locking specific Ruby versions and environment variables to individual directories, ensuring project environment isolation. The ar
rbenv is a dedicated Ruby version manager that uses shim-based per-project switching and shell integration, fitting the version-manager category but limited to a single language rather than the multi-language support you're looking for.
pyenv is a Python version manager and runtime orchestrator that allows for the installation and switching of multiple Python versions on a single machine without affecting the system installation. It functions as a shell-based version controller that manages binaries through shims to redirect executable calls to specific versions. The tool is a plugin-extensible system, allowing users to add custom subcommands and logic via shell script plugins. This architecture enables the extension of the command line interface through a dedicated plugins directory. It provides capabilities for side-by-si
pyenv is a shim-based Python version manager with plugins and per-project settings, but it only manages Python — it does not support the multi-language switching your search requires.
pyenv-win is a version manager for Windows that enables the installation and switching of multiple Python versions without affecting the system global installation. It functions as a multi-version installer and environment controller that ensures isolation and reproducibility across different projects. The tool uses a shim-based routing system to intercept executable calls and direct them to specific versioned binaries. This allows for both system-wide default configurations and local directory-level overrides, where a specific version is automatically activated when entering a project folder
pyenv-win is a dedicated Python version manager for Windows with shim-based switching, automatic per-project version detection, and both global and local overrides, but it only supports a single language rather than the multi-language tool management this search requires.
fvm is a version manager and orchestrator for the Flutter and Dart software development kits. It enables the installation and management of multiple SDK versions on a single machine, allowing different projects to run on different versions simultaneously to avoid conflicts. The tool provides mechanisms for pinning specific SDK versions to projects via configuration files, ensuring that all collaborators and build environments use an identical toolset. It also supports the use of custom SDK forks hosted in external repositories instead of official channels. Beyond local development, it serves
fvm is a dedicated version manager for Flutter and Dart SDKs that supports per-project version pinning and symlink-based switching, but it only covers the Flutter/Dart ecosystem and lacks the multi-language plugin system this search expects.
nvm is a Node.js version manager implemented as a POSIX bash script. It serves as a shell environment manager and runtime orchestrator for installing, switching, and managing multiple versions of the Node.js runtime on POSIX systems. The tool allows for the automation of runtime switching by reading configuration files in project directories to select the required version. It supports the management of long-term support releases and the migration of global packages between different installed versions of the runtime. The project covers broader capabilities including runtime management throug
nvm is a version manager specifically for Node.js, fitting the category but lacking multi-language support since it only handles a single runtime environment.
Mise is a development environment orchestrator that manages software runtimes, environment variables, and task execution. It functions as a version manager and task runner, providing a unified interface to synchronize project-specific configurations and dependencies across different machines. By automating the installation and switching of tools, it ensures that development environments remain consistent and reproducible. The project distinguishes itself through a hierarchical configuration system that automatically discovers settings by traversing the directory tree. It uses shim-based comma
Mise is a CLI-based version manager with a plugin system for multiple languages and runtimes, using shim-based switching and automatic per-project configuration via directory traversal, exactly matching the requested features.
This project is a command-line utility designed to manage development environments by installing, switching, and pinning multiple versions of programming languages, SDKs, runtimes, and database engines. It functions as a centralized controller for complex toolchains, ensuring that specific software versions are maintained consistently across different machines and project directories. The tool distinguishes itself through an interactive terminal interface that allows users to browse and select software versions visually, reducing the need to memorize complex command-line arguments. It also pr
This is a general-purpose version manager that handles thousands of SDKs with a terminal UI, fitting the need to install and switch between multiple development tool versions across languages.
SDKMAN is a command-line utility for installing, tracking, and managing multiple versions of software development kits on Unix systems. It functions as a software installer and environment manager that automates the downloading and configuration of development tools for Linux and macOS. The tool enables the installation of parallel SDK versions on a single system and provides the capability to toggle between them to change the active environment for a shell session. It specifically facilitates the setup of Java development environments, including the management of various Java Development Kit
SDKMAN is a command-line version manager focused on JVM-based development kits (JDK, Gradle, Maven) with per-project configuration via .sdkmanrc files and shell integration, but its narrower ecosystem coverage (not a general multi‑language tool) means it is a solid match rather than a flagship for broader language version management.
Gvm is a Go version manager, environment orchestrator, and dependency isolator. It provides a system for installing, removing, and switching between different versions of the Go programming language on a single machine. The tool manages native dependencies and creates isolated package sets to prevent version conflicts between different project environments. It uses environment variable overlays and directory isolation to link native code without modifying the host operating system. The software covers the full language lifecycle, including remote version cataloging, active version switching,
Gvm is a dedicated Go version manager that handles installing, switching, and isolating multiple Go versions on a single machine, but it only supports one language rather than the multi-language scope this search is after.
Manage your Java environment
jenv is a version manager for Java environments, so it fits the category but is limited to a single language rather than supporting multiple languages as you need.
RVM is a Ruby version manager and build automation tool designed to install and switch between multiple versions of the Ruby interpreter on a single system. It serves as a dependency isolator and shell environment wrapper, allowing for the creation of named library sets to prevent version conflicts between different projects. The project distinguishes itself as a deployment orchestrator that automates the provisioning of Ruby runtimes across remote servers and build agents. It generates standalone executable wrappers to ensure specific runtimes and library sets are loaded for scheduled tasks,
RVM is a Ruby-specific version manager that installs and switches between multiple Ruby interpreters with per-project version detection and shell integration, but it only covers a single language rather than the multi-language setup you're looking for.
This project is a command-line utility designed to manage multiple runtime versions on a single machine. It enables developers to install, remove, and toggle between different versions to satisfy project-specific dependency requirements, ensuring that each environment remains isolated to prevent version conflicts or path overlaps. The tool functions by storing distinct runtime versions in separate, isolated directories and utilizing symbolic links to point to the currently active version. It orchestrates these file system operations through a unified command-line interface that modifies syste
nvm-windows is a CLI-based version manager for Node.js on Windows that installs, switches, and manages versions with per-project auto-detection and symlink-based switching, fitting the core category but limited to a single language rather than multi-language support.
This project is a command-line tool designed for managing multiple runtime versions on a local machine. It functions as a shell-based environment manager that enables users to install, switch between, and maintain different versions of a runtime to support project-specific requirements or diverse shell sessions. By dynamically updating system paths and environment variables, it provides a consistent interface for runtime version control across various Unix-like operating systems. The tool distinguishes itself through its portable, POSIX-compliant shell implementation, which ensures reliable e
nvm is a command-line version manager specifically for Node.js, letting you install and switch between Node versions via the CLI with per-project .nvmrc support, but it covers only a single runtime rather than multiple languages or tools.
This project is a command-line tool designed to manage multiple isolated language runtime versions on a single development machine. It enables users to install, switch between, and maintain different runtime versions, ensuring that project-specific requirements are met without conflicting with system-wide software. The tool distinguishes itself through a shim-based execution environment that intercepts system calls and dynamically routes them to the correct runtime version based on the current directory. By traversing the file system hierarchy to locate configuration files, it automatically a
pyenv is a version manager for Python runtimes that uses shim-based switching, automatic per-project version detection, and shell integration, but it only supports Python rather than the multiple languages your search targets.
This utility is a command-line tool designed for managing multiple Node.js runtime versions on local development machines. It functions as a cross-platform manager that enables users to install, switch, and synchronize runtime versions across Windows, macOS, and Linux environments. The tool automates environment configuration by detecting project-specific version requirements through directory-traversal resolution. It maintains consistency by dynamically updating shell paths and environment variables, allowing for automatic version switching as users navigate between different project directo
fnm is a CLI tool for managing multiple Node.js versions with automatic per-project switching, fitting the version manager category, but it is limited to Node.js rather than supporting multiple programming languages as the search requests.
Manage your app's Node.js environment
nodenv lets you install and switch between multiple Node.js versions with per-project and global settings, but it is limited to Node.js only and does not support multiple languages itself, so it partially fits the search for a multi-language version manager.
rbenv is a Ruby version manager and shell shim environment manager. It allows for the installation of multiple Ruby versions on a single machine and coordinates the selection of the active version based on the current directory or shell session. The tool functions as an extensible command line framework that intercepts executable calls using shell shims. These shims route requests to the selected language version, ensuring environment isolation by storing binaries in independent directories. The system includes capabilities for language runtime administration, including the ability to downlo
rbenv is a shim-based Ruby version manager that provides per-project version selection and shell integration, but it is Ruby-only, missing the multi-language support this search asks for.
| रिपॉजिटरी | स्टार्स | भाषा | लाइसेंस | अंतिम पुश |
|---|---|---|---|---|
| asdf-vm/asdf | 25.1K | Go | mit | |
| volta-cli/volta | 13K | Rust | NOASSERTION | |
| rbenv/rbenv | 16.7K | Shell | MIT | |
| yyuu/pyenv | 44.9K | Shell | MIT | |
| pyenv-win/pyenv-win | 7K | VBScript | mit | |
| leoafarias/fvm | 5.5K | Dart | MIT | |
| creationix/nvm | 93.9K | Shell | MIT | |
| jdx/mise | 29.9K | Rust | MIT | |
| gvcgo/version-manager | 1.3K | Go | MIT | |
| sdkman/sdkman-cli | 6.8K | Shell | Apache-2.0 |