こんにちは
今日は、Macにデフォルトで入っているrubyのバージョンがちょっと古いので、
rbenvを使って最新バージョンで動くようにした話を書きます。
今回実行した環境
OSバージョン: iMac 10.13.3
手順
Homebrewは入っている前提で話を進めます。
まずは、Homebrewをアップデートします。
$ brew update
続いて、早速、rbenvをインストールです!!
$ brew install rbenv
インストールが完了したら、インストール出来ていることの確認もこめて、
バージョンを表示させてみましょう。
こんな感じで、バージョンが表示されていれば、インストールできています。
$ rbenv --version
rbenv 1.1.2
※ rbenvはインストールしてあるが、古くなっていそうな方へ(アップデート方法)
% rbenv --version
rbenv 1.1.2
% brew upgrade rbenv
(略)
% rbenv --version
rbenv 1.2.0
続いて、rbenvでインストール可能なrubyのバージョンを確認します。
かなりたくさんあるので、ズラーッとバージョンが並んで表示されます。
$ rbenv install --list
Available versions:
1.8.5-p52
1.8.5-p113
・
・
・
ree-1.8.7-2012.02
topaz-dev
最新バージョンのrubyを入れてみよう!
今回は”2.5.0”(2018/02/24時点の安定版の最新)をインストールすることにしましたので、
以下のようなコマンドをたたきます。
$ rbenv install 2.5.0
インストールされたら、以下のコマンドでインストールされているrubyのバージョンを確認してみましょう。
”2.5.0”が追加されているはずです。
$ rbenv versions
* system (set by /Users/owner/.rbenv/version)
2.5.0
上記のコマンドで、米印がついているのが、現在の環境で動いているrubyとなります。
以下のコマンドだと、現在の環境で動いているrubyのバージョンのみを表示してくれます。
$ rbenv version
system (set by /Users/owner/.rbenv/version)
今回は、新しくインストールした”2.5.0”に切り替えたいので、
以下のコマンドを実行します。
(globalと指定することで、コマンドを実行したディレクトリ以外にも指定したrubyのバージョンが適用されます)
$ rbenv global 2.5.0
$ rbenv version
2.5.0 (set by /Users/owner/.rbenv/version)
以上、rbenvのインストールとrubyのバージョン管理の方法でした。
追記:2019/03/20
最近、新しいPCでrbenvを入れていたところ、
rbenv version
では、指定Versionが変化していても、
ruby -v
をすると、Versionが変更されていないことがあることが分かりました。
ですので、その際の対処方法を記載します。
$ rbenv init
# Load rbenv automatically by appending
# the following to ~/.bash_profile:
eval "$(rbenv init -)"
eval "$(rbenv init -)"
を~/.bash_profile
の末尾に追加します。
追加したら、~/.bash_profile
を読み込み直せば設定完了です!
$ source ~/.bash_profile
$ ruby -v
ruby 2.5.1p57 (2018-03-29 revision 63029) [x86_64-darwin18]
追記:2023/03/10
ローカルのrubyバージョンを指定しても、切り替わらないことがありました。
% rbenv local 3.2.1
% rbenv versions
system
* 3.1.2 (set by RBENV_VERSION environment variable)
3.2.0
3.2.1
その際は、 rbenv shell --unset
コマンドを実行すると、
上記で指定したバージョンに切り替わります。
% rbenv shell --unset
% rbenv versions
system
3.1.2
3.2.0
* 3.2.1 (set by /Users/xxxx/.ruby-version)