MacでのRuby環境構築についてまとめます。改めて公式文書を読みながら進めたところ、今までやっていたことをスキップできる!と気づいたので、久々にQiitaに書こうと思います。
事前準備
動作確認環境
- MacBook Pro (13-inch, 2019, Four Thunderbolt 3 ports)
- Catalina 10.15.1
今回構築する環境の概要、ゴール
複数バージョンのRubyを管理するために、rbenv を使用します。インストールにはHomebrewを使います。
最終的に $ ruby --version
で意図したバージョン名が表示されることを確認します。
前提
以下の環境であることを前提とします。
- Homebrewを使えること
- Homebrewがインストールできていない方は、 Homebrew を確認してインストールをお願いします
- gitを使えること
- Homebrewが使用できれば、
$ brew install git
でインストール可能です。
- Homebrewが使用できれば、
rbenv環境構築
基本的に、https://github.com/rbenv/rbenv#installation にしたがって操作していきます。
1. rbenv のインストール
以下のコマンドを実行します。
$ brew install rbenv
rbenvがインストールされます。
同時に、 ruby-build もインストールされます。
2. rbenv のセットアップ
以下のコマンドを実行します。
$ rbenv init
# Load rbenv automatically by appending
# the following to ~/.zshrc:
eval "$(rbenv init -)"
上に書いたようなログが出力されています。指示通りに eval "$(rbenv init -)"
を ~/.zshrc
に書き込みます。
私の場合は、zsh
を使用しているため、このようなログ(# the following to ~/.zshrc:
)が出ていますが、お使いのシェルによって、どのファイルに書き込むかは(ログの内容も)変わってきます。
eval "$(rbenv init -)" を ~/.zshrc に書きむとは何を意味するのか
ちょっと話題がそれますが、簡単に説明しておきます。
zsh
を使用している環境において ~/.zshrc
ファイルに書き込まれた内容は、ログインしたときやターミナルを開いた時などに実行されます(ここでは詳しくは説明しません)。~/.zshrc
ファイルに eval "$(rbenv init -)
を書き込むということは、ログインするときやターミナルを開き直す度に、 eval "$(rbenv init -)
を実行したい、ということになります。
3. ターミナル再起動
ターミナルを再起動することで、 ~/.zshrc
ファイルが読み込まれます。
ターミナル再起動の代わりに、 $ source ~/.zshrc
でも内容を反映することが可能です。
4. rbenvインストール環境確認
以下のコマンドを実行し、バージョンが表示されればrbenvのインストールは完了です。
$ rbenv
rbenv 1.1.2
...
...
ruby環境構築
インストールした rbenv
を利用して ruby
をインストールしていきます。
こちらも基本的に https://github.com/rbenv/rbenv#installing-ruby-versions にしたがって操作をします。
1. インストール可能なバージョンの確認
以下のコマンドで、インストール可能なrubyのバージョンを確認します。
$ rbenv install -l
1.8.5-p52
1.8.5-p113
1.8.5-p114
1.8.5-p115
1.8.5-p231
...
...
2.7.0
...
...
2. ruby のインストール
今回は現時点で stable (安定版)となっている2.7.0をインストールします。
$ rbenv install 2.7.0
また、全てのシェルでこのバージョンを使用したいため、global設定を行います。
$ rbenv global 2.7.0
3. ターミナルの再起動
特に手順には書いてありませんでしたが、私の環境ではターミナルの再起動を行うことで意図したバージョンのrubyを使えるようになりました。
4. rubyがインストールされたことを確認する
以下のコマンドで、rubyのバージョンを確かめます。
$ ruby --version
意図したバージョンになっていることが確認できれば、インストールは完了です。