こんにちは!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学習、がんばって進めていきましょう!