awesome-repositories.com
博客
awesome-repositories.com

通过 AI 驱动的搜索,发现最优秀的开源仓库。

探索精选搜索开源替代品自托管软件博客网站地图
项目关于排名机制媒体报道MCP 服务器
法律隐私政策服务条款
© 2026 Bringes Technology SRL·VAT RO45896025·hello@awesome-repositories.com
·

programming language version manager

排名更新于 2026年6月30日

For a tool for managing project development environments, the strongest matches are asdf-vm/asdf (asdf is a plugin-driven command-line version manager that supports), sdkman/sdkman-cli (SDKMAN is a version manager for JVM-based languages and) and nvm-sh/nvm (nvm is a command-line version manager specifically for Node). jenv/jenv and tj/n round out the shortlist. Each is ranked by relevance to your query, popularity and recent activity.

寻找最适合你项目的版本隔离环境。对比按活跃度和 Star 数排名的顶尖工具,找到最适合你技术栈的方案。

“a tool for managing project development environments” 的搜索结果

用 AI 发现最棒的仓库。我们将通过 AI 为您搜索最匹配的仓库。
  • asdf-vm/asdfasdf-vm 的头像

    asdf-vm/asdf

    25,086在 GitHub 上查看↗

    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 is a plugin-driven command-line version manager that supports many languages through external plugins, provides isolated per-project versioning, and offers both global and local overrides, making it a comprehensive fit for installing, managing, and switching between multiple language runtimes.

    GoVersion Pinning SystemsVersion Selection InterfacesVersion Manager Compatibility Layers
    在 GitHub 上查看↗25,086
  • sdkman/sdkman-clisdkman 的头像

    sdkman/sdkman-cli

    6,791在 GitHub 上查看↗

    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 version manager for JVM-based languages and tools (Java, Kotlin, Scala, etc.) that handles installation, switching, and isolation via its CLI and project-level config, so it fits the general intent but is limited to the Java ecosystem rather than covering all programming languages broadly.

    ShellRuntime Version SwitchingPath-Based Version SwitchersSymlink-Based Version Switching
    在 GitHub 上查看↗6,791
  • nvm-sh/nvmnvm-sh 的头像

    nvm-sh/nvm

    93,825在 GitHub 上查看↗

    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, offering full version switching, isolation, and per-project configuration, but it only handles a single language, so it lacks the multi-language support this search requires.

    ShellPath-Based Version SwitchersSymlink-Based Version SwitchingPre-release Runtime Installers
    在 GitHub 上查看↗93,825
  • jenv/jenvjenv 的头像

    jenv/jenv

    6,621在 GitHub 上查看↗

    Manage your Java environment

    jenv/jenv manages multiple isolated Java versions with CLI commands for switching per directory/file and supports global overrides, squarely behaving as a version manager for one language; while it lacks multi-language support, its identity fits the requested tool type for Environments needing Java version isolation and switching alone.

    ShellPer-Directory Version SelectorsRuntime Version Switching
    在 GitHub 上查看↗6,621
  • tj/ntj 的头像

    tj/n

    19,515在 GitHub 上查看↗

    n is a command line version manager and binary manager for the Node.js runtime environment. It functions as a runtime environment switcher, allowing for the installation and management of multiple Node.js versions to maintain compatibility across different projects. The tool orchestrates the downloading and caching of Node.js binaries from official or custom distribution mirrors. It enables switching between installed versions via a command line interface or interactive menu, providing the ability to execute scripts using specific versions from a local cache without performing a full system i

    n is a command-line version manager for Node.js, supporting multiple isolated versions, easy switching, and project-specific settings, but it manages only one runtime rather than multiple languages.

    ShellSymlink-Based Version SwitchingRuntime Version Managers
    在 GitHub 上查看↗19,515
  • creationix/nvmcreationix 的头像

    creationix/nvm

    93,948在 GitHub 上查看↗

    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 dedicated Node.js version manager that delivers version switching, isolated environments, per-project version resolution, and CLI management — but it only handles Node.js, not the multiple programming languages your search specifies.

    ShellRuntime Version SwitchingVersion Selection Interfaces
    在 GitHub 上查看↗93,948
  • yyuu/pyenvyyuu 的头像

    yyuu/pyenv

    44,899在 GitHub 上查看↗

    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 dedicated Python version manager that installs and switches isolated Python versions via shell shims and per-project assignments, but it only supports Python rather than multiple languages as this search requests.

    ShellPath-Based Version SwitchersRuntime Version Managers
    在 GitHub 上查看↗44,899
  • rbenv/rbenvrbenv 的头像

    rbenv/rbenv

    16,710在 GitHub 上查看↗

    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 focused Ruby version manager that offers isolated environments, per-project version locking, and CLI switching, but it only supports Ruby, so it lacks the multi-language scope the visitor requested.

    ShellRuntime Version SwitchingEnvironment Isolation
    在 GitHub 上查看↗16,710
  • jdx/misejdx 的头像

    jdx/mise

    29,929在 GitHub 上查看↗

    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 version manager and development environment orchestrator that installs and switches between multiple isolated runtimes per project, with a CLI, shim-based version selection, and global/local overrides — exactly what you need for managing multiple language versions on one system.

    RustEnvironment ManagersContext-Aware Environment ManagersDevelopment Environment Orchestrators
    在 GitHub 上查看↗29,929
  • pyenv-win/pyenv-winpyenv-win 的头像

    pyenv-win/pyenv-win

    7,006在 GitHub 上查看↗

    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 Python-specific version manager for Windows that provides isolated environments, automatic per-project version selection, and both global and local overrides via shims, but it only supports a single language rather than the multiple-language management the visitor asked for.

    VBScriptRuntime Version Switching
    在 GitHub 上查看↗7,006
  • phpbrew/phpbrewphpbrew 的头像

    phpbrew/phpbrew

    5,528在 GitHub 上查看↗

    Phpbrew is a PHP version manager and build tool used to compile and manage multiple versions of PHP from source within a local user directory. It provides a self-contained development environment that allows for installing and switching between different language versions without requiring root access. The system distinguishes itself by using a variant-driven build configuration, allowing users to compile binaries with specific feature sets, flags, and custom configuration options. It also functions as an extension manager that downloads, compiles, and activates third-party extensions from re

    Phpbrew is a dedicated PHP version manager that handles building, switching, and isolating multiple PHP versions from source, but it only supports a single language rather than the multiple languages you’re looking for.

    MakefileRuntime Version Switching
    在 GitHub 上查看↗5,528
  • rust-lang/rustuprust-lang 的头像

    rust-lang/rustup

    6,940在 GitHub 上查看↗

    rustup is a programming language toolchain manager that automates the installation, versioning, and configuration of the Rust compiler and its associated build tools. It serves as a toolchain installer and version manager, enabling the deployment of the language ecosystem across different operating systems. The system manages multiple compiler versions across stable, beta, and nightly release channels, allowing users to switch between these versions to meet different environment requirements. It also functions as a cross-compilation manager by installing pre-compiled standard libraries to bui

    rustup is a dedicated version manager for the Rust language, handling installation, switching, and isolation of compiler versions with a CLI and per-project overrides — it squarely meets the core need but is limited to a single language rather than the multi-language scope you may be looking for.

    RustRuntime Version Switching
    在 GitHub 上查看↗6,940
  • volta-cli/voltavolta-cli 的头像

    volta-cli/volta

    13,009在 GitHub 上查看↗

    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 version manager for Node.js and JavaScript toolchains, providing automatic per-project version switching, isolated environments, and a command-line interface—but it focuses solely on JavaScript-related runtimes, not multiple distinct programming languages.

    RustSymlink-Based Version Switching
    在 GitHub 上查看↗13,009
  • rvm/rvmrvm 的头像

    rvm/rvm

    5,192在 GitHub 上查看↗

    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 specialized Ruby version manager that handles installation, switching, and environment isolation for Ruby runtimes, so it fits the category of a programming language version manager, though it covers only Ruby rather than multiple languages as your search requests.

    ShellRuntime Version Switching
    在 GitHub 上查看↗5,192
  • pyenv/pyenvpyenv 的头像

    pyenv/pyenv

    44,895在 GitHub 上查看↗

    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 dedicated version manager for Python, providing isolated environments and automatic per-project version switching—exactly the right kind of tool, though limited to a single language.

    ShellVersion ManagersBuild And DeploymentBuild Systems
    在 GitHub 上查看↗44,895
  • pkgxdev/pkgxpkgxdev 的头像

    pkgxdev/pkgx

    9,738在 GitHub 上查看↗

    pkgx is a cross-platform tool orchestrator and portable package runner that enables the execution of specific software versions without requiring permanent installation on the host system. It functions as a multi-ecosystem package wrapper, providing a unified interface to launch tools and managers from various language ecosystems. The project serves as an ephemeral environment provider and script dependency manager, allowing users to declare and automatically inject required software versions into scripts via a shebang line. This allows for the bootstrapping of temporary shells and containers

    pkgx lets you run specific versions of tools and languages ephemerally without permanent installation, supporting multiple ecosystems and per‑project version selection via shebang, making it a version manager that fits your request despite its unique stateless approach.

    RustMulti-Ecosystem Package WrappersOn-Demand Tool ExecutionCommand Execution
    在 GitHub 上查看↗9,738
  • nodenv/nodenvnodenv 的头像

    nodenv/nodenv

    2,379在 GitHub 上查看↗

    Manage your app's Node.js environment

    nodenv is a version manager specifically for Node.js, so it fits the category of programming language version manager but only supports a single runtime rather than the multiple languages your search requires.

    ShellCommand Line UtilitiesEnvironment ManagementNode.js Version Management
    在 GitHub 上查看↗2,379
  • gvcgo/version-managergvcgo 的头像

    gvcgo/version-manager

    1,332在 GitHub 上查看↗

    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

    gvcgo/version-manager is a general version manager that handles thousands of SDKs via a TUI and CLI, covering the core needs of installing, switching, and managing multiple isolated versions across platforms.

    GoVersion Pinning SystemsRuntime Version Managers
    在 GitHub 上查看↗1,332
  • version-fox/vfoxversion-fox 的头像

    version-fox/vfox

    3,910在 GitHub 上查看↗

    Vfox is a command-line utility designed to manage multiple programming language runtimes and development tools on a single machine. It provides a unified interface for installing, switching, and configuring software versions across different operating systems, ensuring consistent development environments. The project distinguishes itself through a modular, plugin-based architecture that allows for the integration of diverse language runtimes and utilities beyond built-in defaults. It utilizes a combination of shim-based execution, symlink management, and dynamic shell-hook environment injecti

    vfox is a cross-platform, extendable version manager that handles multiple languages like Java, Node.js, Go, and Python, fitting the need for installing, managing, and switching between isolated language versions via the command line.

    GoRuntime Version SwitchingSymlink-Based Version SwitchingRuntime Version Managers
    在 GitHub 上查看↗3,910
  • prefix-dev/pixiprefix-dev 的头像

    prefix-dev/pixi

    6,416在 GitHub 上查看↗

    Pixi is a conda environment manager that creates reproducible, lock-file-backed environments with cross-platform support and multi-language dependency resolution. It combines package management from both conda-forge and PyPI simultaneously, coordinating their dependency graphs to prevent conflicts, while pinning every transitive dependency to exact versions in a cross-platform lock file for bit-for-bit identical environments across machines. The project distinguishes itself by also functioning as a cross-platform task runner that executes user-defined commands and multi-step pipelines inside

    Pixi lets you create isolated conda environments with different language runtimes (e.g., Python, R) and switch between them via CLI, which matches the core need for installing and managing multiple language versions — though it operates as a broader environment/package manager rather than a narrow runtime version switcher like nvm or pyenv.

    RustConda Environment ReproducibilityAutomatic Lock-File RegenerationsCI
    在 GitHub 上查看↗6,416
一览前 10 名对比
仓库Star 数语言许可证最后推送
asdf-vm/asdf25.1KGomit2026年2月9日
sdkman/sdkman-cli6.8KShellApache-2.02026年6月15日
nvm-sh/nvm93.8KShellMIT2026年6月15日
jenv/jenv6.6KShellMIT2026年2月22日
tj/n19.5KShellMIT2026年4月12日
creationix/nvm93.9KShellMIT2026年6月15日
yyuu/pyenv44.9KShellMIT2026年6月14日
rbenv/rbenv16.7KShellMIT2026年6月22日
jdx/mise29.9KRustMIT2026年6月23日
pyenv-win/pyenv-win7KVBScriptmit2026年2月20日

Related searches

  • 基于插件的引导环境系统
  • RL training environments
  • 软件开发版本控制系统
  • API 开发集成环境
  • Test isolation tools
  • a containerized environment for software development
  • a platform for orchestrating containerized applications
  • 用于管理项目开发环境的声明式工具