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

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

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

rbenv/rbenv

0
View on GitHub↗
16,710 星标·1,428 分支·Shell·MIT·9 次浏览rbenv.org↗

Rbenv

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 architecture is designed for extensibility, allowing users to add custom commands and hooks through a plugin system.

The tool covers a broad range of capabilities including version management, toolchain configuration, and the management of environment variables. It provides mechanisms to automate library setup and isolate dependencies across different installations.

Features

  • Version Managers - Provides a comprehensive system for installing, switching, and managing multiple Ruby runtime versions.
  • Ruby Version Managers - Provides a comprehensive system for installing and managing different versions of the Ruby programming language.
  • Command Interception Shims - Uses proxy mechanisms to dynamically resolve and route command execution to the correct Ruby binary.
  • Runtime Version Switching - Enables switching between different Ruby versions based on global defaults, project files, or shell sessions.
  • Shell Environment Managers - Modifies terminal sessions by injecting environment variables and updating paths to ensure correct binary execution.
  • Per-Project Runtime Assignments - Binds a specific Ruby runtime version to a directory to ensure project-specific environment consistency.
  • Shim-Based Command Interception - Implements a shim-based interception model to execute the correct Ruby binaries and gems without manual path configuration.
  • Environment Isolation - Isolates language runtimes by assigning specific Ruby versions to directories to ensure consistent behavior across projects.
  • Multi-Version Installations - Provides the capability to download and install multiple specific versions of the Ruby runtime.
  • Directory-Based Version Resolution - Determines the active Ruby version by searching for configuration files in the current and parent directories.
  • Isolated Runtime Directories - Installs separate language versions into distinct folders to prevent binary conflicts.
  • Shim Regeneration - Rebuilds proxy executables to ensure the command line interface maps to the latest installed binaries.
  • Command Line Extensions - Provides a framework for defining custom commands and plugins to extend the version manager's functionality.
  • Dependency Isolation Tools - Provides utilities for configuring custom paths to isolate language-specific dependencies (gems) per project.
  • Environment Variable Management - Manages host-level environment variables for both global and project-specific runtime configurations.
  • Environment Variable Configurations - Provides mechanisms to inject runtime settings and configuration parameters via project-specific environment variable files.
  • Shell Environment Injections - Injects logic into the shell session to update environment variables and modify the command search path dynamically.
  • Hook-Based Extension Frameworks - Uses a hook-based architecture to allow plugins to add custom commands and extend environment management.
  • Plugin Extenders - Allows loading custom external libraries at runtime to augment core version management functionality.
  • Plugin Managers - Facilitates the discovery, installation, and management of third-party extensions to add new functionality.
  • Tooling Plugin Systems - Implements an architecture for adding custom tools and commands via external plugin loading.
  • Command Line Utilities - Version management for Ruby environments.

Star 历史

rbenv/rbenv 的 Star 历史图表rbenv/rbenv 的 Star 历史图表

AI 搜索

探索更多 awesome 仓库

用简单的语言描述您的需求 —— AI 将根据相关性为您从数千个精选开源项目中进行排序。

Start searching with AI

常见问题解答

rbenv/rbenv 是做什么的?

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.

rbenv/rbenv 的主要功能有哪些?

rbenv/rbenv 的主要功能包括:Version Managers, Ruby Version Managers, Command Interception Shims, Runtime Version Switching, Shell Environment Managers, Per-Project Runtime Assignments, Shim-Based Command Interception, Environment Isolation。

rbenv/rbenv 有哪些开源替代品?

rbenv/rbenv 的开源替代品包括: sstephenson/rbenv — rbenv is a Ruby version manager and shell shim environment manager. It allows for the installation of multiple Ruby… version-fox/vfox — Vfox is a command-line utility designed to manage multiple programming language runtimes and development tools on a… moovweb/gvm — Gvm is a Go version manager, environment orchestrator, and dependency isolator. It provides a system for installing,… pyenv-win/pyenv-win — pyenv-win is a version manager for Windows that enables the installation and switching of multiple Python versions… creationix/nvm — nvm is a Node.js version manager implemented as a POSIX bash script. It serves as a shell environment manager and… sdkman/sdkman-cli — SDKMAN is a command-line utility for installing, tracking, and managing multiple versions of software development kits…

Rbenv 的开源替代方案

相似的开源项目,按与 Rbenv 的功能重合度排序。
  • sstephenson/rbenvsstephenson 的头像

    sstephenson/rbenv

    16,711在 GitHub 上查看↗

    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

    Shell
    在 GitHub 上查看↗16,711
  • 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

    Goasdfbashcli
    在 GitHub 上查看↗3,910
  • moovweb/gvmmoovweb 的头像

    moovweb/gvm

    11,645在 GitHub 上查看↗

    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,

    Shelldependency-managergolang
    在 GitHub 上查看↗11,645
  • 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

    VBScriptpyenvpyenv-alternativepyenv-for-windows
    在 GitHub 上查看↗7,006
查看 Rbenv 的所有 30 个替代方案→