おさえておきたいRubyのバージョンごとの違い・切り替え方法まとめ

こんにちは!Webコーダー・プログラマーの貝原(@touhicomu)です。

今日は、Rubyのバージョン(version)の確認方法、切り替え方法について解説します。
この記事では、

  • Rubyの主なバージョン一覧
  • バージョンにおける注意点
  • Rubyのバージョン確認方法

という基本的な内容から、

  • WindowsのRubyのバージョンの切り替え方法
  • MacのRubyのバージョンの切り替え方法
  • CentOSのRubyのバージョンの切り替え方法

などの応用的な使い方に関しても学習していきます。このページで、Rubyのバージョン(version)の確認方法、切り替え方法の使い方をよく把握して自分のスキルとしていきましょう!

目次

Rubyのバージョン

Rubyのバージョンごとの違いや注意点、切り替え方法などをまとめました。

主なバージョン一覧と違い

主なRubyのバージョンは以下の通りです。(2019/03/17更新)

  • 2.3系
  • 2.4系
  • 2.5系
  • 2.6系

2019/03現在の最新安定版は2.6.1となっています。古いバージョンを使っている場合は注意点があります。

バージョンにおける注意点

サポート終了

  • Ruby2.2までのセキュリティメンテナンスが終了しました。
  • Ruby2.3のセキュリティメンテナンスが2019年3月で終了する見通しです。

サポートが終了しているバージョンを使用することは、セキュリティ上、大変危険なのでアップデートすることが強く推奨されています。Rubyのバージョンを確認して、必要であればアップデートを行いましょう!

Rubyのバージョンの確認方法

Rubyのバージョンを確認するには、コンソールにて「ruby –version」または「ruby -v」のコマンドで確認できます。

$ ruby -v
ruby 2.6.1p33 (2019-01-30 revision 66950) [x86_64-darwin18]

Rubyはバージョンによって機能に多少の違いがあるため、アップデートを行う前に確認する事を推奨します。

WindowsのRubyのバージョンの切り替え方法

WindowsにおいてRubyInstallerでインストールしたRubyのバージョンを管理するには、uruを使う必要があります。

uru公式サイト:jonforums / uru — Bitbucket

上記サイトから7Zipファイルをダウンロードした後、展開しc:toolsフォルダにuru_rt.exeを配置します。その後、uru_rt.exeを以下のように実行して、uruをインストールします。

c:tools>uru_rt.exe admin install
---> Installing uru into c:tools

c:toolsフォルダを確認してみます。

c:tools>dir
 ドライブ C のボリューム ラベルがありません。
 ボリューム シリアル番号は 9AF6-9A4A です

 c:tools のディレクトリ

2017/10/10  09:17    <DIR>          .
2017/10/10  09:17    <DIR>          ..
2017/10/10  09:17               282 uru.bat
2017/10/10  09:17               285 uru.ps1
2017/10/10  09:00         1,866,752 uru_rt.exe

uru.batが普段実行するuruです。これでuruの準備は完了です。c:toolsにパスを通しておくと良いでしょう。

次にuruにRubyを登録します。ここでは、仮にC:RubyのサブフォルダにRubyの各バージョンがインストールされているものとします。

c:Ruby>uru admin add --recurse c:Ruby --dirtag
---> Registered ruby at `c:RubyRuby21-x64bin` as `Ruby21-x64`
---> Registered ruby at `c:RubyRuby23-x64bin` as `Ruby23-x64`
---> Registered ruby at `c:RubyRuby24bin` as `Ruby24

これで、c:Ruby配下のRuby21-x64やRuby23-x64、Ruby24などがuruに登録されました。—recurseオプションをつけておくと、uruはc:Ruby配下のすべてのサブフォルダを検索してRubyを登録しますので、覚えておいてください。

現在uruに登録してあるRubyを一覧するには、「uru ls」を実行します。

c:tools>uru ls
    Ruby21-x64  : ruby 2.1.9p490 (2016-03-30 revision 54437) [x64-mingw32]
    Ruby23-x64  : ruby 2.3.3p222 (2016-11-21 revision 56859) [x64-mingw32]
    Ruby24      : ruby 2.4.1p111 (2017-03-22 revision 58053) [i386-mingw32]

uruに指定するRubyの名前(タグ)が「Ruby24」など長い名前の場合、打ちにくいですので、「retag」コマンドで、別名をつけましょう。

c:tools>uru admin retag Ruby24 24
---> retagged `Ruby24` to `24`

c:tools>uru ls
 => 24          : ruby 2.4.1p111 (2017-03-22 revision 58053) [i386-mingw32]
    Ruby21-x64  : ruby 2.1.9p490 (2016-03-30 revision 54437) [x64-mingw32]
    Ruby23-x64  : ruby 2.3.3p222 (2016-11-21 revision 56859) [x64-mingw32]

最後に、使用するRubyのバージョンを指定してRubyのバージョンを切り替えます。

c:tools>uru 24
---> now using ruby 2.4.1-p111 tagged as `24`

Ruby24のバージョンに切り替わったかどうかを確認するには、以下のように「ruby -v」を実行します。

c:tools>ruby -v
ruby 2.4.1p111 (2017-03-22 revision 58053) [i386-mingw32]

MacのRubyのバージョンの切り替え方法

Macで複数のRubyをインストールして管理するには、rbenvを使用します。brewでrbenvをインストールしましょう。

brew update
brew install rbenv
echo 'eval "$(rbenv init -)"' >> ~/.bash_profile
source ~/.bash_profile

これでrbenvのインストールは完了です。brew updateとbrew install rbenvはわかるとして、下2行はなんの意味があるんだ?と思う方もいるかも知れません。

おまじないとしてスルーしてもいい部分なんですが、触りだけ説明すると、3行目の中にある rbenv initはrbenvの初期化処理です。この初期化処理はターミナルを起動するたびに必要なので、ターミナル起動時に読み込まれる.bash_profileというファイルに書き込みを行っています。

そして、最終行はターミナルから.bash_profileを再読込するコマンドです。これによりrbenvが初期化されて利用できるようになりました。rbenvでインストール可能なRubyの一覧を取得するには、以下のコマンドを実行します。

$ rbenv install --list

ここで、たとえばRuby2.6.1をインストールするには、以下のコマンドを実行します。

$ rbenv install 2.6.1

ここまででは、Rubyのインストールを行っただけで、まだRubyを使えるようになっていません。Ruby2.6.1を使用できるようにするには、以下のコマンドを実行します。

なお、オプション「local」は、システム全体で使用するRubyではなく、自分だけのローカル環境でrbenvを使って切り替えて使用するRubyを指定することを意味します。

$ rbenv local 2.6.1

最後に、rbenvによりローカルで使用することにしたrubyのバージョンを確認します。Rubyのバージョンを確認するには「ruby -v」を実行します。

$ ruby -v

実行結果

ruby 2.6.1p33 (2019-01-30 revision 66950) [x86_64-darwin18]

CentOSのRubyのバージョンの切り替え方法

CentOSもMacと同じくrbenvによりRubyのバージョンを切り替えて管理できます。

ただし、brew経由ではなく、直接gitでダウンロードする必要があります。Git? GitHub?? という方はこちらの記事を今すぐご確認ください。昨今のLinuxを使っていく上で、GitHubは使えないと非常に厳しいです。早めにキャッチアップしましょう。

まずは、ホームディレクトリに「.rbenv」というフォルダに対しgitを使ってrbenvをダウンロードします。

$ git clone https://github.com/rbenv/rbenv.git ~/.rbenv

次に、パスを通します。

$ echo 'export PATH="$HOME/.rbenv/bin:$PATH"' >> ~/.bash_profile
$ echo 'eval "$(rbenv init -)"' >> ~/.bash_profile
$ source ~/.bash_profile

bashなんか使ってないぜ!という方は適宜読み替えをお願いいたします。やっていることはMacのときと同じ初期化処理の登録です。

つづいてpluginsフォルダにruby-buildをインストールします。ruby-buildはrbenvでrubyをインストールする際に使用されます。

$ git clone git://github.com/sstephenson/ruby-build.git ~/.rbenv/plugins/ruby-build
$ sudo ~/.rbenv/plugins/ruby-build/install.sh

ここで一度バージョンの確認をしておきましょう。rbenvとインストールできるrubyのバージョンを確認します。

$ rbenv -v
$ rbenv install -l

実行結果

rbenv 1.1.1
1.8.5-p52
  1.8.5-p113
  1.8.5-p114
前略
  2.5.3
  2.6.0-dev
  2.6.0-preview1
  2.6.0-preview2
  2.6.0-preview3
  2.6.0-rc1
  2.6.0-rc2
  2.6.0
  2.6.1
  2.7.0-dev
  jruby-1.5.6
後略

以上でrbenvのインストールは完了しました。rbenvにRuby2.6.1をインストールしてみます。まず、Rubyに必要なものをyumでインストールした後、rbenvで指定のバージョンをインストールしました。

$ sudo yum install -y bzip2 gcc openssl-devel readline-devel zlib-devel
$ rbenv install 2.6.1

エラーメッセージが表示されなければOKです。それでは、rbenv環境下で、Ruby2.6.1を使用するように指定しましょう。

$ rbenv local 2.6.1

「local」オプションをつけると、このRuby2.6.1はシステム全体で使用されるRubyではなく、自分のローカル環境で使用するRubyになります。最後にRubyのバージョンを確認してみましょう。

$ ruby -v
ruby 2.6.1p33 (2019-01-30 revision 66950) [x86_64-linux]

以上のようにRuby2.6.1が使用できるようになりました。

まとめ

今回は、Rubyの バージョン(version)の確認方法、切り替え方法について学習しました!

学習のポイントを振り返ってみましょう!

  • Rubyのバージョンを確認するには「ruby -v」を実行する
  • Mac、CentOSはバージョン管理ツールを使ってRubyをインストールするのが基本
  • uru,rbenvは複数のバージョンを切り替えて使えるので、環境に合わせることが簡単

インストールの段階でコケることなく、スムーズにスタートできたなら、筆者としてもとてもうれしいです。Ruby学習、がんばって進めていきましょう!

この記事を書いた人

【プロフィール】
DX認定取得事業者に選定されている株式会社SAMURAIのマーケティング・コミュニケーション部が運営。「質の高いIT教育を、すべての人に」をミッションに、IT・プログラミングを学び始めた初学者の方に向け記事を執筆。
累計指導者数4万5,000名以上のプログラミングスクール「侍エンジニア」、累計登録者数1万8,000人以上のオンライン学習サービス「侍テラコヤ」で扱う教材開発のノウハウ、2013年の創業から運営で得た知見に基づき、記事の執筆だけでなく編集・監修も担当しています。
【専門分野】
IT/Web開発/AI・ロボット開発/インフラ開発/ゲーム開発/AI/Webデザイン

目次