Manage your projects, including all their Ruby versions and gems, with rv.
- Run any command or script that needs ruby with
rv run. - Install gem CLIs in isolated environments with
rv tool install. - Run any gem command immediately, like
rvx rails new myapp. - Install project gems with
rv clean-install.
# Homebrew or Linuxbrew
brew install rvOr, visit releases for an installer shell script.
rv run [ruby|irb|myscript.rb] # run any command or script with Ruby available
rv tool install rerun # install CLI tools into dedicated environments
rvx rails new . # run any gem CLI directly
rv clean-install # install project Ruby and gems from Gemfile.lock
rv ruby pin 4.0.0 # set a project Ruby version
rv ruby install 4.0.0 # install a Ruby version
rv shell [zsh|bash|fish|nu] # set up automatic version switchingSee SHELL INTEGRATION for more about .ruby-version and automatic version switching.
For details, see INSTALL_BENCHMARK.md.
"what the heckie that just installed a ruby version for me in .22 seconds???" β c. ruiyi smallbird
"Holy wow that thing _flies_." β Andrea Fomera
- Operating Systems: macOS 14+, Linux glibc 2.35+
- Architectures: x86, arm64
- Ruby Versions: Ruby 3.2, 3.3, 3.4, and 4.0.
- Shells: zsh, bash, fish, nushell. See SHELL INTEGRATION for more.
Spinel.coop can bring your team an obsession with developer productivity and decades of experience from the core teams of Rails, Hotwire, Bundler, and rbenv. Book a free call with us to get started today.
Join us in discussions on GitHub, or the #rv channel in the the Bundler Slack and the Spinel Discord.
All-in-one tooling for Ruby developers.
- Install & manage all Ruby versions.
- Manage gems, applications, CLI tools, and scripts, effortlessly.
- Handle everything Ruby provided by
rvm,rbenv,chruby,asdf,mise,ruby-build,ruby-install,bundler, andrubygems, all at once. - Install Ruby and all your gems in seconds, without having to compile anything ever again.
- Install
ruby-headversions for easier development for Ruby core contributors. miseplugin, so you get fast no-fuss Ruby installs too.
- Run any script, installing all needed gems, like
rv run script.rb. - Manage project gems with
rv install,rv add, andrv remove. - Create gems with
rv gem, and publish them withrv publish.
See PLANS.md for more on our future plans.
Install dependencies on macOS or Ubuntu with bin/setup. Make changes, and then run the development binary with bin/rv, or install the development binary to your system with bin/install.
When you're done, make sure to run the tests with bin/test, and the linter with bin/lint. Then, send us a pull request! We love pull requests.
Does rv have a website?
Yes! You're looking at it. You can reach this page with the URL rv.dev.
Why are you doing this?
@indirect, long-time project lead for Bundler and RubyGems, wrote a blog post about his motivation to create rv.
How do you pronounce rv?
"arr vee", the names of the two letters, spelled out.
rv is heavily inspired by uv, as you might guess from the name.
It also takes inspiration, features, and approaches from Bundler, Frum, Homebrew, npm, Cargo, and Orogene.
We'd also like to thank everyone who has ever worked on a package manager in the past for helping get all of us to where we are today.
- Bundler manages project gems.
- Ruby Butler manages project tasks, Rubies, and gems.
rv is licensed under either Apache-2.0 or MIT, at your option.
Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion by you, as defined in the Apache-2.0 license, shall be dually licensed as above, without any additional terms or conditions.