rv는 Ruby 개발 환경 관리에 있어 여러 혁신적인 기능을 제공합니다.
Rust 기반의 압도적인 속도
- rv는 Python의 uv처럼 Rust로 개발되어 모든 작업에서 탁월한 속도를 자랑합니다.
bundle exec
실행 시rvm install
및bundle install
에 해당하는 작업을 자동으로 수행하더라도 기존보다 훨씬 빠르게 느껴질 것으로 예상됩니다.- 이는 개발자가 환경 설정에 소요되는 시간을 대폭 절감하고 생산성을 향상시키는 데 기여합니다.
rv exec: 강력한 CLI 실행 환경
- uv exec에서 영감을 받은
rv exec
는npm exec
나gem exec
와 유사하지만 훨씬 강력합니다. - 어떤 CLI 명령이든 필요한 버전과 의존성을 즉시 설치하며 실행합니다.
- CLI 도구의 Ruby 및 Gem 환경이 현재 프로젝트와 완전히 분리되고 격리되어 충돌 문제를 원천적으로 방지합니다.
rv tool install: 독립적인 CLI 도구 설치
rv exec
와 밀접하게 연관된rv tool install
은 어떤 Gem이든 독립적인 Ruby 및 Gem 환경을 갖춘 CLI 도구로 설치할 수 있게 합니다.- 예를 들어, 현재 작업 중인 앱이 다른 Ruby 버전을 필요로 하더라도
gist
Gem을 CLI 도구로 설치하여 어디서든 사용할 수 있습니다.
스크립트 지원
- 단일 파일 스크립트 내에
.ruby-version
,Gemfile
,Gemfile.lock
정보를 코드와 함께 포함할 수 있습니다. rv run script.rb
명령 하나로 필요한 Ruby 버전과 Gem 의존성을 자동으로 설정하고 스크립트를 실행합니다.
통합된 환경 관리
- rv의 가장 큰 변화는 Ruby 버전 관리와 Gem 의존성 관리를 하나로 통합했다는 점입니다.
- CLI 도구, 웹 애플리케이션, 임의의 스크립트 등 무엇을 실행하든 rv가 전체 환경을 정확하게 설정해줍니다.
- 궁극적으로는
rvm
설치, Ruby 설치,rubygems
업데이트,bundler
업데이트,bundle install
등의 복잡한 과정 없이 단순히 명령만 실행하면 모든 것이 처리되는 것을 목표로 합니다.