次世代Ruby管理ツール「rv」登場!rvmやbundlerの壁を越える新提案

[PR]記事内のアフィリエイトリンクから収入を得る場合があります
  • URLをコピーしました!

Ruby開発者なら誰もが一度は「バージョン管理と依存関係」の沼にはまったことがあるかもしれません。rvm、rbenv、bundler…などさまざまなツールが存在し、最適な組み合わせを考えるのはかなり複雑な作業となります。そんな悩みに終止符を打つべく、新しいRuby管理ツール「rv」が登場しました

開発者のAndré Arko氏は、Pythonの「uv」に感銘を受け、「Rubyにも欲しい!」と自ら開発を開始します。目指すのは、rvm + bundler + gem exec + npx のいいとこ取りで、RubyGemsのSamuel Giddins氏や、rbenvの創設者Sam Stephenson氏もチームに参加し、開発は加速中です。

rvの主な特徴は次の通りです:

  • Rubyのバージョン管理とgem依存管理を統合
    複数ツールを使い分けなくてOK

  • Rust製で爆速
    rvm installbundle install相当の処理をより高速に実行。

  • CLIツールの即時実行(rvx)
    npxのように、依存関係を気にせずコマンドを実行可能。

  • ツールごとの分離環境
    プロジェクトと無関係なgemも安全に扱える。

  • スクリプト単体で環境構築&実行
    .ruby-versionGemfile情報を含む.rbファイルをrv run で即実行できる。

これまでのRubyツールと違いは次のようになります。

機能 従来ツール rvのアプローチ
Rubyバージョン管理 rvm / rbenv Rust製で高速動作。コンパイル済みのRubyを爆速インストールも可能。
gem依存管理 bundler 分離環境で衝突なし
CLIツール実行 gem exec rvxで即時実行&依存解決
スクリプト実行 ruby + bundler rv runで環境込みで実行
目次

まとめ

Python界隈で話題の「uv」を横目に、「Rubyにもこんな統合ツールがあれば」と願っていた方にとって、rvはまさに待望のツールとなりそうです。rvmやrbenv、bundlerを駆使していた日々から一歩踏み出し、「言語マネージャー」という新しい概念が登場したことで、Ruby開発の体験そのものが変わるかもしれません。

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!
目次