tuuuti.com公式ブログ

静的サイトのお問い合わせフォーム設置の tuuuti.com

RVMのインストール方法と使い方

f:id:jun9632:20171027233932p:plain

RVMって?

まず、RVMの公式サイトはこちら。

RVM: Ruby Version Manager - RVM Ruby Version Manager - Documentation

Ruby Version Manager の頭文字をとって RVMです。

そうです。 Rubyのバージョンを管理してくれます。

複数プロジェクトを掛け持ちで作業している時など、 プロジェクト毎にバージョンの違うRubyを使っていても、 ほとんど、意識せずに指定したバージョンに切り替えてくれる優れものです。

rbenvもバージョンを管理してくれますが、個人的にはRVMを好んで使っています。

github.com

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を使う環境ではとても役に立つと思うので是非参考にしてみて下さい。

関連記事

blog.tuuuti.com