Ruby バージョン マネージャー (RVM)
RVM は、インタープリターから一連の gem まで、複数の Ruby 環境を簡単にインストール、管理、および操作できるコマンドライン ツールです。

ルビーを簡単にカット!
- GPG キーをインストール
gpg2 --keyserver keyserver.ubuntu.com --recv-keys 409B6B1796C275462A1703113804BB82D39DC0E3 7D2BAF1CF37B13E2069D6956105BD0E739499BDB
問題が発生した場合や詳細を確認したい場合は、セキュリティを確認してください。 - RVM をインストール
\curl -sSL https://get.rvm.io | bash -s stable
- 1 つのコマンドでデフォルトの Ruby と Rails で RVM をインストールするには、次を実行します。
\curl -sSL https://get.rvm.io | bash -s stable --rails
- 詳細とトラブルシューティングについては、インストール ドキュメントを参照し、
- 新しい autolib 機能についてお読みください。
- 最も正確な (ただし公式ではありません) rvm スクリーンキャスト をご覧ください。
- 最も正確な (ただし公式ではありません) rvm チートシート をお読みください。
- Rails から始めませんか? RailsCasts.com の Rails 入門ガイド をご覧ください。
コミュニティで保守されているプロジェクト
RVM は、イシュー トラッカーとプル リクエストを介してコミュニティによって保守およびサポートされています。
- RVM Github 組織の各プロジェクト、
- 特に RVM プロジェクト イシュー トラッカー をご覧ください。
プロダクション
RVM では、プロジェクトごとに独自の自己完結型で専用の環境をデプロイできます。これは、特定バージョンの Ruby から、アプリケーションの実行に必要な正確な一連の gem までさまざまです。正確な一連の gem を使用することで、プロジェクト間のバージョン競合の問題を回避することもできます。これにより、追跡が困難なエラーや何時間もかかる髪の毛の損失が発生する可能性があります。RVM では、必要なもの以外の GEM はインストールされません。これにより、各 gem に長い依存関係のリストがあり、複数の複雑なアプリケーションを操作する作業がより効率的になります。RVM を使用すると、元のセットをそのままにしてテストする新しいクリーンな一連の gem に切り替えることで、gem のアップグレードを簡単にテストできます。環境ごとに、開発ブランチごとに、または個々の開発者の好みに応じて一連の gem を保持することもできるほど柔軟です。
開発
RVM は、コマンドライン API を介して Ruby 開発の多くの側面の複雑さを軽減します。RVM を使用すると、開発、CI、Q/A、ステージング、および本番環境で **同一の**自己完結型環境を利用できます。隠れた落とし穴はもうありません。1 つで動作すれば、すべてで動作します。名前付き gemset を使用すると、異なる環境間で変更を確実に、すぐにプッシュできます。さらに、RVM は Ruby アプリケーション用であり、*Rails だけではありません*! Ruby ベースの *どのような*アプリケーションでも、RVM を使用することでメリットがあります。
テスト
RVM を使用すると、アップグレード パスとエスケープ パスの両方を非常に簡単かつ一貫性を持って簡単にテストできます。RVM を使用すると、テスト スイート、rake タスク、ベンチマーク、および gem コマンドを複数の Ruby バージョンに対して *同時に*実行できます。つまり、アプリケーションが Ruby 1.8.X、REE、MRI 1.9.1、jruby などの環境で確実に動作するように簡単に保証し、そのような環境で動作しない領域をすぐに明らかにできます。
Gem 管理
RVM には、名前付き Gem セットと呼ばれる非常に柔軟な Gem 管理システムがあります。RVM の「gemset」を使用すると、複数のバージョンの Ruby で gem を管理することが問題ではなくなります。RVM では、リポジトリのサイズを不必要に大きくする膨大な数の gem をチェックインするのではなく、アプリケーションリポジトリに小さなテキスト ファイルを追加できます。さらに、RVM の gemset 管理では共通のキャッシュ ディレクトリを使用するため、各 gem のダウンロード済みバージョンは 1 つだけディスク上に存在し、複数のコピーが作成されることはありません。
RVM は Ruby のあらゆる側面が完全にユーザー空間に収まり、より安全で Root 権限を利用しない使用が強力に推奨されるようにします。したがって、RVM ルビを使用するとシステム セキュリティのレベルが向上し、リスクとシステムのダウンタイムの全体を削減します。さらに、すべてのプロセスはユーザー レベルで実行されるため、1 つの Ruby プロセスが侵害されてもシステム全体は侵害されません。
サポート
RVM は、プロジェクトに対するコミュニティのプルリクエストのおかげで継続的に進化しています。