やりたいことは?
Mac に最新の Ruby を rbenv でインストールしたい。
なぜするのか?
なぜバージョンを切り替えるのか?
それは、Rails(Ruby製の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
- ruby-build
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
バージョンがずらっと出てくる。どれをインストールしたらいいのかは、公式サイトで最新の安定版をチェックしたらわかる。
記事執筆現在は、「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