RVMのインストール方法と使い方
RVMって?
まず、RVMの公式サイトはこちら。
RVM: Ruby Version Manager - RVM Ruby Version Manager - Documentation
Ruby Version Manager の頭文字をとって RVMです。
そうです。 Rubyのバージョンを管理してくれます。
複数プロジェクトを掛け持ちで作業している時など、 プロジェクト毎にバージョンの違うRubyを使っていても、 ほとんど、意識せずに指定したバージョンに切り替えてくれる優れものです。
rbenvもバージョンを管理してくれますが、個人的にはRVMを好んで使っています。
RVMのインストール方法
公式サイトを参考に下記のコマンド実行します。
gpg --keyserver hkp://keys.gnupg.net --recv-keys 409B6B1796C275462A1703113804BB82D39DC0E3 7D2BAF1CF37B13E2069D6956105BD0E739499BDB \curl -sSL https://get.rvm.io | bash -s stable
でインストール終了です。
RVMを使ったRubyのインストール方法
まず、現在インストール可能なRubyのバージョンを確認するため、下記のコマンドを実行します。
rvm list known
こんな感じで一覧が表示されます。
[ruby-]1.8.6[-p420] [ruby-]1.8.7[-head] # security released on head [ruby-]1.9.1[-p431] [ruby-]1.9.2[-p330] [ruby-]1.9.3[-p551] [ruby-]2.0.0[-p648] [ruby-]2.1[.10] [ruby-]2.2[.8] [ruby-]2.3[.5] [ruby-]2.4[.2] ruby-head
例えば、この中で、ruby 2.4.2をインストールする場合。
rvm install 2.4.2
を実行するだけで、インストールできます。
RVMでインストール済みのRubyの確認
インストール済みのバージョンの確認は
rvm list
ですることができます。
ruby-2.3.3 [ x86_64 ] => ruby-2.4.2 [ x86_64 ]
実行すると上記の様にインストール済みのrubyを確認することができます。
=> は、現在の指定中のバージョンを指しています。
インストールしたい安定版のバージョンが見つからない
「rvm list known 」を実行した時に、あるはずの安定版のバージョンがみつからい。
そんな時は
rvm get latest
開発版まで視野に入れたい時は、
rvm get head
で、RVM自体を更新することができます。
rvm update
を打ちたくなりますが、
ERROR: rvm update has been removed. Try 'rvm get head' or see the 'rvm get' and rvm 'rubygems' CLI API instead
と rvm get headを入力してくれと言われます。
RVM で Rubyのバージョンを切り替える
Rubyの複数のバージョンが入っているときに、バージョンを切り替える時は
rvm use [バージョン]
を使います。
例えば、2.4.4に切り替えたい時は、
rvm use 2.4.2 rvm list ruby-2.3.3 [ x86_64 ] => ruby-2.4.2 [ x86_64 ]
2.3.3に切り替えたい時は、
rvm use 2.3.3 rvm list => ruby-2.3.3 [ x86_64 ] ruby-2.4.2 [ x86_64 ]
となります。
デフォルト設定
特定のRubyのバーションを固定でデフォルト設定する場合は defaultオプションをつけます。
rvm use [バージョン] --default rvm use 2.4.2 --default
こうすることで、再起動しても、指定したバージョンがデフォルト設定として固定されます。
gemsetの作成
Rubyで重要になるのが、Rubyのバージョン管理とGemのパッケージ管理です。 rvmはGemの管理もしてくれます。
ABCというプロジェクトで、ruby 2.4.2、XYZというプロジェクトでも、ruby 2.4.2 を使っているけど、Gemの構成が全く違う場合などにとても役にたつのが gemsetです。
gemsetの作成は
rvm gemset create [gemset名]
rvm gemset create abc や rvm gemset create xyz
ruby 2.4.2で gemset abc を作りたい場合、createを実行する前に
rvm use 2.4.2
を実行することを忘れない様にしてください。
Rubyのバージョンに対して、Gemsetが紐付いていると考えると理解しやすいと思います。
gemsetの確認
現在指定しているRubyのバージョンに作ってあるGemsetを確認するには、下記を実行します
rvm gemset list => (default) abc xyz
=> 矢印は現在指定中のGemsetです。
Gemsetの変更
利用するGemsetを変更するには、下記のようなコマンドです。
rvm user @[Gemset名]
defaultからabcにGemsetを変更する場合は
rvm user @abc rvm gemset list (default) => abc xyz
となります。
Rubyのバージョンとgemsetを一括変更
Rubyのバージョンもgemsetも一括で切り替えたいんだと言う時のコマンドがこちら。
rvm use [Rubyバージョン]@[Gemset名] rvm use 2.4.2@xyz
これで、RubyもGemsetを一発切り替えができます。
rvmの設定ファイル
Rails環境なり、Middlemanなり、RubyとGemを使っている環境のときに便利なのが、
.ruby-version .ruby-gemset
のファイルを作業フォルダ直下に置いておくことをおすすめします。 それぞれのファイルにRubyのバージョンとGemset名を書いておくと、勝手に切り替えてくれます。
ファイルのサンプル
.ruby-version
ruby-2.4.2
.ruby-gemset
abc
最初に設定してしまえば、後はバージョンとGemsetを意識することなく作業に集中できます。
最後に
いかがでしたしょうか?RVMの一部の機能かもしれまんせんがよく使う機能を紹介しました。 RubyやGemを使う環境ではとても役に立つと思うので是非参考にしてみて下さい。