awesome-repositories.com
Blog
MCP
awesome-repositories.com

Discover the best open-source repositories with AI-powered search.

ExploreCurated searchesOpen-source alternativesSelf-hosted softwareBlogSitemap
ProjectMCP serverAboutHow we rankPress
LegalPrivacyTerms
© 2026 Bringes Technology SRL·VAT RO45896025·hello@awesome-repositories.com
rvm avatar

rvm/rvm

0
View on GitHub↗
5,192 stars·1,043 forks·Shell·31 viewsrvm.io↗

Rvm

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, service managers, and system init scripts.

The tool covers a broad range of capabilities, including automated source compilation with custom compiler flags, user-space installation to avoid root privileges, and integration with various shells and text editors. It also provides infrastructure for remote environment synchronization, continuous integration compatibility testing, and application server integration.

Features

  • Per-Project Library Isolations - Maintains separate directory hierarchies for libraries per Ruby version to prevent dependency conflicts between projects.
  • Multi-Interpreter Support - Downloads and configures multiple language implementations and versions on a single system to support varying project requirements.
  • Ruby Version Managers - Installs and switches between multiple Ruby interpreter versions on a single system to support different project requirements.
  • Environment Wrappers - Creates wrapper scripts that preload specific language versions and dependency sets for execution in non-interactive shells.
  • Isolated Environment Managers - Creates self-contained environments including specific interpreter versions and dedicated dependencies to prevent conflicts.
  • Language Environment Provisioning - Automates the installation of the environment manager and language runtimes during system setup.
  • Dependency Isolation - Implements named library sets to prevent dependency conflicts between different Ruby projects.
  • Runtime Version Switching - Changes the active interpreter for the current shell session or based on a project configuration file.
  • Shell Initialization Scripts - Uses shell profile scripts to initialize the environment manager and load configurations automatically during login.
  • Shell Initialization Managers - Automates the injection of management logic into shell startup files to control Ruby environment variables.
  • Dependency Isolation - Assigns distinct library sets to different projects on an application server to prevent dependency conflicts.
  • Language Runtime Provisioning - Provisions Ruby runtimes and environments across remote servers and build agents using configuration management tools.
  • Isolated Runtime Environments - Creates isolated environments with specific language versions and dedicated dependencies to prevent conflicts between projects.
  • Environment Wrappers - Generates standalone scripts that load specific interpreters and environments for service managers and init scripts.
  • Interpreter Source Compilations - Provides automated source compilation of Ruby interpreters with custom compiler flags for specific system library links.
  • Isolated Library Sets - Creates, deletes, copies, and switches between independent sets of libraries for a specific interpreter to prevent conflicts.
  • Language Build Automation - Provides automated source compilation of the Ruby interpreter with custom compiler flags and system library links.
  • Language Interpreters - Downloads and installs specific versions of various language implementations on a single system.
  • Runtime Environment Managers - Manages the creation and switching of named library sets to ensure dependency isolation.
  • Shell Environment Injections - Injects shell functions into sessions to dynamically modify the PATH and environment variables for runtime selection.
  • Named Dependency Groups - Creates and switches between named groups of libraries for specific interpreters to avoid version conflicts.
  • Environment Path Injections - Dynamically updates the system PATH variable to prioritize selected Ruby interpreters over system defaults.
  • Remote Environment Management - Manages dependencies and ensures automatic installation of the correct interpreter for remote deployment tasks.
  • Build Environment Configurators - Configures specific interpreters and library sets on build agents to ensure consistent automated build environments.
  • Compiler Flag Customization - Builds interpreter versions using custom compiler flags to link against external system or manager-provided libraries.
  • Deployment Automation - Automates the process of updating servers with fresh releases and managing transitions from staging to production.
  • Project Ecosystem Detection - Automatically detects and loads specific Ruby interpreters and project environments based on the directory.
  • Remote Environment Configurations - Provides mechanisms to synchronize the language version and configuration between local development and remote production platforms.
  • Runtime Environment Integrations - Connects Ruby interpreters and library sets with text editors, terminal emulators, and shell profiles for a seamless workflow.
  • Environment Wrapper Generators - Creates standalone executables that automatically load a specific Ruby interpreter and library set from any shell location.
  • Shell Integrations - Configures the environment manager for Zsh to ensure compatibility with prompt behavior and regex operators.
  • Configuration Management Integrations - Deploys and configures the environment manager across systems using Chef cookbooks for automated infrastructure management.
  • Environment Parity - Matches local language versions to remote platform stacks to ensure consistency between development and production.
  • Infrastructure as Code Deployments - Uses programmable infrastructure definitions to install and configure language interpreters across multiple machines.
  • Language Runtime Deployment - Automates the provisioning of Ruby runtimes across remote servers and build agents to align development and production.
  • Remote Toolkit Deployments - Automates the deployment of the environment manager and specific language runtimes to remote servers.
  • Runtime Dependency Enforcement - Ensures deployment tasks utilize the correct language version and library sets during project updates.
  • User-Mode Installations - Compiles and installs Ruby runtimes into user-owned directories to avoid requiring root privileges.
  • Application Server Integrations - Links specific language versions to web application servers to ensure apps execute in the correct environment.
  • Shell Script Wrappers - Generates shell scripts that preload specific Ruby interpreters and library sets for execution outside interactive shells.
  • Build Dependency Installers - Detects and utilizes system package managers to install native libraries required for building language interpreters from source.
  • Interpreter Source Compilation - Downloads and compiles specific language implementations with configurable language modes and build options.
  • Named Dependency Set Organization - Organizes groups of libraries into named sets that can be shared across different environments or mapped to branches.
  • Runtime Executable Wrappers - Creates standalone executable scripts that automatically load a specific Ruby version and environment for cron jobs or service managers.
  • Service Environment Wrappers - Generates standalone scripts that load a specific interpreter and library set to start applications via system init scripts.

Star history

Star history chart for rvm/rvmStar history chart for rvm/rvm

How this analysis was created: This summary and feature list are AI-generated from collected project material and can contain mistakes. Stars, license and language are imported from GitHub. Inclusion does not mean that we have tested or audited this project. Check the source documentation for any feature you depend on. Learn more on our About page.

AI search

Explore more awesome repositories

Describe what you need in plain English — the AI ranks thousands of curated open-source projects by relevance.

Start searching with AI

Projects sharing features with Rvm

These projects share indexed features with Rvm. Shared tags can include platform or build tooling; verify the primary use case before treating a result as a replacement.
  • rbenv/rbenvrbenv avatar

    rbenv/rbenv

    16,710View on 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

    Shellbashrubyruby-installation
    View on GitHub↗16,710
  • sstephenson/rbenvsstephenson avatar

    sstephenson/rbenv

    16,711View on 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
    View on GitHub↗16,711
  • pex-tool/pexP

    pex-tool/pex

    4,218View on GitHub↗

    Pex is a Python application bundler and isolated environment manager. It packages programs and their entire dependency trees into single executable files to simplify deployment across different environments. The tool functions as a portable executable creator by bundling multiple platform-specific distributions into a single file. This ensures that a program can run across different operating systems by mapping target platforms to compatible binary distributions. The system provides capabilities for dependency management and isolated execution. It can launch scripts or interpreters within te

    Python
    View on GitHub↗4,218
  • version-fox/vfoxversion-fox avatar

    version-fox/vfox

    3,910View on 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
    View on GitHub↗3,910
Compare all 30 related projects→

Frequently asked questions

What does rvm/rvm do?

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.

What are the main features of rvm/rvm?

The main features of rvm/rvm are: Per-Project Library Isolations, Multi-Interpreter Support, Ruby Version Managers, Environment Wrappers, Isolated Environment Managers, Language Environment Provisioning, Dependency Isolation, Runtime Version Switching.

Which projects share features with rvm/rvm?

Projects with overlapping indexed features include: rbenv/rbenv — rbenv is a Ruby version manager and shell environment manager designed to install, switch between, and manage multiple… 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… pex-tool/pex — Pex is a Python application bundler and isolated environment manager. It packages programs and their entire dependency… x-cmd/x-cmd — x-cmd is an AI agent orchestrator, cloud infrastructure CLI, and cross-platform package manager that provides an… leoafarias/fvm — fvm is a version manager and orchestrator for the Flutter and Dart software development kits. It enables the…