Rv, a new kind of Ruby management tool

Motivation & existing pain points

  • Several commenters hit long‑standing Bundler/RubyGems issues: stdlib → gem extractions (e.g., StringIO) can cause “already activated” version conflicts and force frequent Bundler upgrades.
  • People like Ruby’s per‑project dependency isolation but dislike how that isolates global dev tools (rubocop, LSPs, etc.) inside project Bundler contexts.
  • CI and provisioning: compiling Ruby is still slow in some setups; precompiled Rubies and faster installs are welcomed, especially where a clean environment is created on every run.

What rv aims to do vs. current Ruby tools

  • rv is perceived as a “language manager”: combining Ruby version management, dependency management, and global tools (à la uv + uvx), not just an rvm/rbenv replacement.
  • Some see this as a clear step up from the split of rvm/rbenv + Bundler + ad‑hoc tooling; others argue Bundler already solves most pain and is “fast enough,” so benefits feel marginal.
  • Concern: does rv reimplement Bundler’s resolver and Gemfile.lock format, and if so, will it stay compatible with Bundler’s evolution?

Single‑language vs multi‑language environment managers

  • Many work across Ruby, Python, JS, Java, etc. and prefer one universal tool (asdf, mise, Nix + direnv, devbox, Flox) that manages all runtimes and tools.
  • Counterpoint: language‑specific tools (cargo, uv, rv) can go deeper—handling versions, deps, scripts, formatting, docs, publishing—while generic tools usually only cover versions and PATH management.
  • Some suggest rv should at least read .tool-versions to coexist with mise/asdf and possibly even act as mise’s Ruby backend in the future.

Rust as implementation choice

  • Noted pattern: Rust increasingly powers ecosystem tooling (uv, rv, JS toolchain rewrites). Many see it as “the new C” for fast, safe CLIs.
  • Dissenters argue ecosystem tools should be written in the ecosystem’s own language (Ruby), and that requiring Rust raises the bar for contributors.

Other concerns & wishlist

  • Worries about Ruby tooling drifting toward Python‑style “VM hell,” though some think Ruby’s later, more informed move reduces that risk.
  • Name complaints: rv collides with an existing R tool and is hard to search, part of a broader dislike of two‑letter project names.
  • Feature requests: better caching/sharing of environments, version range installs (rv install "~> 3.4.4"), inline script support akin to Bundler’s, and clear advantages table vs rvm/rbenv/Bundler.