1. ホーム
  2. スクリプト・コラム
  3. ルビートピックス

Rubyバージョン管理ツールRVMのインストールとチュートリアルの使用方法

2022-02-03 17:51:14

RVM は、Ruby 環境の複数のバージョンを管理し、切り替えるための便利なコマンドラインツールです。

https://rvm.io/

Ruby / Railsを学ぶなら、RVMは欠かせないツールの一つです。

ここでのコマンドはすべてユーザー権限に戻りますので、どのコマンドもsudoを使用しないほうがよいでしょう。
RVMのインストール

$ curl -L get.rvm.io | bash -s stable
$ source ~/.bashrc
$ source ~/.bash_profile



RVMのRubyインストールソースを中国のタオバオミラーサーバーに変更し、インストール速度を改善しました。

$ sed -i -e 's/ftp\.ruby-lang\.org\/pub\/ruby/ruby\.taobao\.org\/mirrors\/ruby/g' ~/.rvm/config/db



Rubyのインストールと切り替え

既知のRubyのバージョン一覧

rvm list known



Rubyバージョンのインストール

rvm install 2.2.0



ここには最新の2.2.0がインストールされており、rvm list known listにあるものであれば何でもインストールできます。

Rubyのバージョン切り替え

rvm use 2.2.0



このバージョンをデフォルトとして設定し、後で開く新しいコンソールがこのバージョンのRubyをデフォルトとするようにしたい場合

rvm use 2.2.0 --default 



インストールされているrubyを問い合わせる

rvm list



インストールされているバージョンのアンインストール

rvm remove 1.8.7



gemsetの使用

RVMは、複数のRubyバージョンが共存できる環境を提供するだけでなく、プロジェクトによって異なるgemsetを管理することが可能です。

gemsetは独立した仮想のGem環境と考えることができ、それぞれのgemsetは他のgemsetから独立しています。

例えば、Rails 2.3用とrails3用の2つのプロジェクトがあるとします。gemsetを使うと、2つのGem開発環境を簡単にセットアップして、切り替えて使うことができるようになります。

gemsetはRuby言語のバージョンに紐付いているので、例えば1.9.2を使っていてrails3というgemsetを作った場合、1.8.7に切り替えるとrails3というgemsetは存在しなくなります。
ジェムセットの作成

rvm use 1.8.7
rvm gemset create rails23



そして、作成したgemsetを現在の環境として設定します。
は、言語やジェムセットの切り替えに使用することができます。

がインストール(または作成)されていれば、listコマンドで確認することができます。

rvm use 1.8.7
rvm use 1.8.7@rails23



そして、インストールされたGemはすべてこのgemsetの下にインストールされます。
現在のRubyのgemsetをリストアップします。

rvm gemset list



gemsetのGemをクリアする

GemsetからすべてのGemsを空にし、すべてのGemsを再インストールしたい場合は、次のようにします。

rvm gemset empty 1.8.7@rails23



ジェムセットの削除

rvm gemset delete rails2-3



プロジェクトの自動ロード gemset

RVMはgemsetを自動的にロードすることもできます。
例えば、Rubyバージョン1.9.3を必要とするRails 3.1.3のプロジェクトがある場合、全体の流れは次のようになります。

rvm install 1.9.3
rvm use 1.9.3
rvm gemset create rails313
rvm use 1.9.3@rails313



次に、プロジェクトのディレクトリに移動して、.rvmrc ファイルを作成します。

このファイルには、単純にコマンドを追加すればいいのです。

rvm use 1.9.3@rails313



このプロジェクトにアクセスすると、RVMはRuby 1.9.3とrails313 gemsetをロードします。
RVMによるNginx + Passengerの迅速なデプロイメント

まずPassengerをインストールします。

gem install passenger



次に passenger-install-nginx-module を使って Nginx をインストールし、デプロイします。

このステップでは root 権限が必要なので (Nginx をコンパイルしたいから)、rvmsudo というものが使えます (これは本当に良いことです)。

rvmsudo passenger-install-nginx-module



次に、Nginx のソースコードをダウンロードして自動的にインストールするか、Nginx のソースコードの場所を自分で選択するかを尋ねられます。

Nginxの手動インストールを選択した場合、Nginxのカスタムコンパイルを容易にするために、追加のコンパイルパラメータを追加することができます。

その後、わざわざダウンロードし、インストールします。デフォルトのインストール先は、/opt/nginxです。

nginx.conf を見てください。

最初にインストールが終わった時、あまりの凄さに驚きました。

PS: RVMは素晴らしいです。スマートで、失敗した理由を(ほとんど)教えてくれて、それからどのLibをインストールする必要があるかなどを教えてくれるんです。初心者にもベテランにも最適で、自宅での旅行には必需品です。