https://github.com/spinel-coop/rv/
💎💨 Extremely fast Ruby version and gem manager
https://github.com/spinel-coop/rv/
bundler dependency-manager ruby rubygems
Last synced: 4 days ago
JSON representation
💎💨 Extremely fast Ruby version and gem manager
- Host: GitHub
- URL: https://github.com/spinel-coop/rv/
- Owner: spinel-coop
- License: apache-2.0
- Created: 2025-07-11T20:16:25.000Z (about 1 year ago)
- Default Branch: main
- Last Pushed: 2026-07-22T08:37:32.000Z (14 days ago)
- Last Synced: 2026-07-22T09:14:30.927Z (14 days ago)
- Topics: bundler, dependency-manager, ruby, rubygems
- Language: Rust
- Homepage: https://rv.dev
- Size: 13.6 MB
- Stars: 1,764
- Watchers: 19
- Forks: 50
- Open Issues: 45
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- Funding: .github/FUNDING.yml
- License: LICENSE-APACHE
- Code of conduct: CODE_OF_CONDUCT.md
- Security: SECURITY.md
Awesome Lists containing this project
- awesome-ruby - rv - A fast Ruby version and toolchain manager written in Rust. (Environment Management)
README
# `rv`, a very fast Ruby gem and project manager
Auto-installed and managed Ruby versions and gems.
- Run any command or script that needs ruby with `rv run NAME`.
- Run any gem command immediately, like `rvx rails new myapp`.
- Install project gems with `rv clean-install`.
- Install gem CLIs in isolated environments with `rv tool install NAME`.
## Install
On macOS or Linux, install `rv` with Homebrew:
```bash
brew install rv
```
Alternatively, use the standalone installer script:
```bash
curl -LsSf https://rv.dev/install | sh
```
On Windows, open PowerShell as Administrator and run:
```powershell
powershell -ExecutionPolicy Bypass -c "irm https://rv.dev/install.ps1 | iex"
```
**Note: On Windows PowerShell, use `rvw` instead of `rv` because `rv` is an alias for the built-in `Remove-Variable`.**
For other installation options or to download specific versions manually, visit the [releases page](https://github.com/spinel-coop/rv/releases).
## Usage
```bash
rv run [ruby|irb|myscript.rb] # run any command or script with Ruby available
rvx rails new . # run any gem CLI directly
rv tool install rerun # install CLI tools into dedicated environments
rv clean-install # install project Ruby and gems from Gemfile.lock
rv ruby pin 4.0.0 # set a project Ruby version
rv shell [zsh|bash|fish|nu|powershell] # set up automatic version switching
```
On Windows PowerShell, use `rvw` instead of `rv`:
```powershell
rvw run ruby # run any command or script with Ruby available
rvw clean-install # install project Ruby and gems from Gemfile.lock
rvw shell powershell # set up automatic version switching
```
See [SHELL INTEGRATION](docs/SHELL_INTEGRATION.md) for more about `.ruby-version` and automatic version switching.
## Install Ruby in under 2 seconds

For details, see [INSTALL_BENCHMARK.md](docs/INSTALL_BENCHMARK.md).
## Configuration
`rv` supports configuration via a `rv.kdl` file at the project or user level, and via environment variables prefixed with `RV_`.
See [SETTINGS.md](docs/SETTINGS.md) for all settings, allowed values, and configuration precedence.
## Testimonials
"what the heckie that just installed a ruby version for me in .22 seconds???"
— [c. ruiyi smallbird](https://bsky.app/profile/veryroundbird.house/post/3lxdwtsbwp22o)
"Holy wow that thing \_flies\_."
— [Andrea Fomera](https://bsky.app/profile/afomera.dev/post/3m4wjfvqrhk2h)
## Requirements
- **Operating Systems**: macOS 14+, Linux glibc 2.35+, Windows 10+
- **Architectures**: x86, arm64
- **Ruby Versions**: Ruby 3.2, 3.3, 3.4, and 4.0.
- **Shells**: zsh, bash, fish, nushell, PowerShell. See [SHELL INTEGRATION](docs/SHELL_INTEGRATION.md) for more.
## From Spinel Cooperative
[Spinel.coop](https://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](https://savvycal.com/spinel/client) to get started today.
## Community
Join us in the `rv` category on the [Ruby Users Forum](https://www.rubyforum.org/tag/rv/71), the `#rv` channel in the the [Bundler Slack](https://join.slack.com/t/bundler/shared_invite/zt-3kza12u0j-Fw3rwvPi6zqe6EC3RCDGMA), and the [Spinel Discord](https://discord.gg/u34TcumAk8).
Subscribe to [the Spinel Cooperative newsletter](https://buttondown.com/spinel) or [the Spinel blog](https://spinel.coop/blog) RSS feed to get updates about `rv` version releases.
## Plans
All-in-one tooling for Ruby developers.
- Install & manage all Ruby versions.
- Manage gems, applications, CLI tools, and scripts, effortlessly.
- Handle everything Ruby, as provided by `rvm`, `rbenv`, `chruby`, `asdf`, `mise`, `ruby-build`, `ruby-install`, `bundler`, and `rubygems`, all at once.
- Install Ruby and all your gems in seconds, without having to compile anything ever again.
- Install `ruby-dev` versions to ease working with Ruby development builds.
### Future features
- Run any script, installing all needed gems, like `rv run script.rb`.
- Manage project gems with `rv sync`, `rv add`, and `rv remove`.
- Create gems with `rv gem new`, and publish them with `rv gem publish`.
See [PLANS.md](docs/PLANS.md) for more on our future plans.
## Contributing
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`.
On Windows, equivalent PowerShell scripts are available in `bin\powershell\`.
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.
## FAQ
**Does rv have a website?**
Yes! You're looking at it. You can reach this page with the URL [rv.dev](https://rv.dev).
**Why are you doing this?**
[@indirect](https://github.com/indirect), long-time project lead for [Bundler](https://bundler.io) and [RubyGems](https://rubygems.org), wrote [a blog post about his motivation to create `rv`](https://andre.arko.net/2025/08/25/rv-a-new-kind-of-ruby-management-tool/).
**How do you pronounce rv?**
"arr vee", the names of the two letters, spelled out.
## Acknowledgements
`rv` is heavily inspired by [`uv`](https://github.com/astral-sh/uv), as you might guess from the name.
It also takes inspiration, features, and approaches from [Bundler](https://bundler.io), [Frum](https://github.com/TaKO8Ki/frum), [Homebrew](https://brew.sh), [npm](https://npmjs.com), [Cargo](https://github.com/rust-lang/cargo), and [Orogene](https://github.com/orogene/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.
## Similar Projects
- [Ruby Butler](https://github.com/RubyElders/ruby-butler) manages project tasks, Rubies, and gems.
## License
`rv` is licensed under either [Apache-2.0](/LICENSE-APACHE) or [MIT](/LICENSE-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.