Just do IT

思うは招く

MacOS に最新版の Ruby を rbenv でインストールする方法

やりたいことは?

Mac に最新の Ruby を rbenv でインストールしたい。

なぜするのか?

  • Mac には Ruby がはじめから入っているが、バージョンが古いから。
  • Ruby のバージョンを簡単に切り替えたいから

なぜバージョンを切り替えるのか?

それは、RailsRuby製のWebフレームワーク)を使うときに、プロジェクトによって使う Ruby のバージョンが異なる場合がよくあるため。基本的には、その Rails プロジェクトで使われる Ruby のバージョンに合わせて開発を進める。

ローカルで Ruby だけを使って、Fizzbuzz などの勉強用プログラムを書くときにはあまり意識する必要はない。しかし、Ruby を学ぶということは、ゆくゆくは Rails で開発をするということなので、はじめから rbenv を使ってバージョン管理をしておいたほうがいい。

環境

  • MacOS: 10.14.6
  • homebrew が入ってること

ちなみに最新版をインストールする前のRubyのバージョンを確認すると

$ ruby -v
ruby 2.5.0p0 (2017-12-25 revision 61468)

記事を書いているのは2019年11月11日なので、約2年前のバージョン。こりゃちと古い。

MacOS に最新 の Ruby をインストールする方法

まず、以下の2つをインストールする。

rbenvをインストールする

$ brew install rbenv ruby-build

ただ、「いやもうインストールしてっから」と跳ね返された。

Error: ruby-build 20190615 is already installed
To upgrade to 20191105, run `brew upgrade ruby-build`.

言われたとおりにこれをする

# Homebrewをアップデート
brew update

# ruby-buildをアップデート
$ brew upgrade ruby-build

こうすることで、最新のRubyバージョンをインストール可能な状態にできる。

そして再度トライ。

$ brew install rbenv ruby-build

今度はできるはず。 rbenvのバージョンを確認してみよう。

$ rbenv -v
rbenv 1.1.2

できた。次は Ruby をインストールしよう。

Ruby をインストールする

インストールできる Ruby のバージョンを見てみよう。

$ rbenv install -l

バージョンがずらっと出てくる。どれをインストールしたらいいのかは、公式サイトで最新の安定版をチェックしたらわかる。

www.ruby-lang.org

f:id:K_Koh:20191113185218j:plain

記事執筆現在は、「Ruby 2.6.5がもっとも新しい安定版やで〜」と書いているので、そちらを選択。

$ rbenv install 2.6.5

インストールにはすこし時間がかかるので、コーヒー☕でも飲んで休憩しておく。

インストールし終わったら、バージョンをチェックしてみる。

$ rbenv versions
  system
* 2.5.0 (set by /Users/<username>/.rbenv/version)
  2.6.5

まだ古いバージョンを使ってるので、切り替えをする。

$ rbenv global 2.6.5

rbenv globalをすることで、システム全体で2.6.5を使う設定になる。またバージョンをチェックしてみると

$  rbenv versions
  system
  2.5.0
* 2.6.5 (set by /Users/<username>/.rbenv/version)

できました! 念の為再確認。

$ ruby -v
ruby 2.6.5p114 (2019-10-01 revision 67812) [x86_64-darwin18]

うん、できてますね。

変更できない場合は、次の記事が参考になります。

MacのターミナルでRubyをバージョンアップする方法 - Qiita

特定のディレクトリで Ruby のバージョンを変更したい場合

該当するディレクトリへ行き、以下コマンドを発動する。

$ rbenv local 2.6.5

global が local になっている点に注意。

rbenv-communal-gems は使わないほうがいい

検索していると、「rbenv-communal-gemsを入れよう」といった記事がちょくちょくある。rbenvで使えるプラグインだ。

しかし、結論からいうと rbenv-communal-gems は初心者におすすめしない。というのも、絶対に必要なプラグインなわけでもないのに、rails が動かないという致命的なエラーが発生する可能性があるから。(私が経験しました)

関連:Rails is not currently installed on this system エラーを解決 - Just do IT

参照