RubyをHomebrewのrbenvでインストールする手順

投稿者 : OSCA

[PR] 出川哲朗の充電させてもらえませんか? で登場した、あの場所へ行こう! 番組のロケ地を紹介するファンサイトはこちら。

 本稿では、macOS に rbenv を Homebrew を用いてインストールし、Ruby を利用する手順について解説します。

前提

 本稿では、ご利用の macOS に Homebrew が既にインストールされていることを前提に解説を進めます。 Homebrew の導入がまだの方は、別稿「Mac の開発を便利にするパッケージ管理ソフト Homebrew のインストール手順」などを参考に導入してください。

 また、Homebrew は、デフォルトの /usr/local にインストールされることを前提にします。 Homebrew のインストールディレクトリを変更している方は、パスを随時読み変えてください。

インストール

 rbenv を Homebrew でインストールする方法は、Homebrew で他のアプリケーションをインストールするのと何ら変わりありません。 次の例のように brew install コマンドで rbenv を指定します。

$ brew install rbenv
==> Downloading https://homebrew.bintray.com/bottles/rbenv-1.1.2.catalina.bottle.tar.gz
Already downloaded: /Users/user/Library/Caches/Homebrew/downloads/4aa5b17e756634bde0cc164c0052a544873cdee2c4b3d187079bdee4949fa72a--rbenv-1.1.2.catalina.bottle.tar.gz
==> Pouring rbenv-1.1.2.catalina.bottle.tar.gz
🍺  /usr/local/Cellar/rbenv/1.1.2: 36 files, 69KB

 これで rbenv のインストールは完了です。 インストールされた rbenv は上の結果にある通り、/usr/local/Cellar/rbenv にインストールされました。 それと同時に、/usr/local/bin/rbenv というシンボリックリンクも作成されています。

$ ls -l /usr/local/bin/rbenv
lrwxr-xr-x  1 user  admin  31  4 26 14:40 /usr/local/bin/rbenv -> ../Cellar/rbenv/1.1.2/bin/rbenv

 次にログイン時やターミナル起動時に rbenv の初期化を行う rbenv init というコマンドが実行されるように設定します。 このコマンドは rbenv の初期化コマンドで、rbenv の実行ファイル(shims)を配置する shims ディレクトリや、複数の Ruby をインストールする versions ディレクトリなどを作成します。 このコマンドはコンピュータにログインした際に毎度自動的に実行された方が良いため、次のようなコマンドで ~/.bash_profile に実行コマンドを追記します。

$ echo 'eval "$(rbenv init -)"' >> ~/.bash_profile

 これで .bash_profile の末尾にコマンドが追記されたはずです。 .bash_profile が実行されるようにログインし直すか、次のように .bash_profile を再度実行して下さい。

$ source ~/.bash_profile

 すると ~/.rbenv ディレクトリが作成されて、中に shims と versions ディレクトリが作成されたことが確認できます。

$ ls -l ~/.rbenv/
total 0
drwxr-xr-x  2 user  staff  68 12 30 13:07 shims
drwxr-xr-x  2 user  staff  68 12 30 13:07 versions

Ruby をインストールする

 rbenv がインストールできたので、Ruby をインストールしてみましょう。 まずは現時点で Ruby がインストールされていないことを念のため確認します。 rbenv versions コマンドを実行すると、インストールされている Ruby のバージョンが分かります。 ここでは system というものだけが表示されます。

$ rbenv versions
* system (set by /Users/user/.rbenv/version)

 rbenv を用いてインストールできる Ruby のバージョンを rbenv install -l コマンドで確認できます。

$ rbenv install -l
Available versions:
 (略)
  2.3.3
  2.4.0-dev
  2.4.0-preview1
  2.4.0-preview2
  2.4.0-preview3
  2.4.0-rc1
  2.4.0
 (略)

 このように preview 版も含め、多くの Ruby のバージョンをインストールできることが分かります。 ここでは 2.4.0 をインストールしてみます。 rbenv install コマンドにバージョンを指定します。

$ rbenv install 2.4.0
Downloading ruby-2.4.0.tar.bz2...
-> https://cache.ruby-lang.org/pub/ruby/2.4/ruby-2.4.0.tar.bz2
Installing ruby-2.4.0...
Installed ruby-2.4.0 to /Users/user/.rbenv/versions/2.4.0

 Ruby 2.4.0 のインストールが完了しました。 再び rbenv versions コマンドを実行してみると、今度は 2.4.0 が追加されたのが分かります。

$ rbenv versions
* system (set by /Users/user/.rbenv/version)
  2.4.0

 最後に rbenv global コマンドで、デフォルトで利用する Ruby のバージョンを 2.4.0 に変更します。

$ rbenv global 2.4.0

 更に再び rbenv versions コマンドを実行してみると、米印(*)が今度は 2.4.0 の左側に点いて、デフォルトに 2.4.0 が選択されたことが確認できます。

$ rbenv versions
  system
* 2.4.0 (set by /Users/user/.rbenv/version)

 ruby -v コマンドで実際のバージョンを表示してみても、ruby 2.4.0 が実行されていることが確認できます。

$ ruby -v
ruby 2.4.0p0 (2016-12-24 revision 57164) [x86_64-darwin15]

トラブルシューティング

 rbenv install コマンドで Ruby をインストール中に、以下のようなエラーが出てしまった場合は、XCode のコマンドラインツールを再セットアップすると解決しました。

dyld: lazy symbol binding failed: Symbol not found: _clock_gettime
  Referenced from: /private/var/folders/qt/0lwncv3s1cx8rrpzjb_hbsv00000gn/T/ruby-build.20161230132827.32808/ruby-2.4.0/./miniruby (which was built for Mac OS X 10.12)
  Expected in: /usr/lib/libSystem.B.dylib
dyld: Symbol not found: _clock_gettime
  Referenced from: /private/var/folders/qt/0lwncv3s1cx8rrpzjb_hbsv00000gn/T/ruby-build.20161230132827.32808/ruby-2.4.0/./miniruby (which was built for Mac OS X 10.12)
  Expected in: /usr/lib/libSystem.B.dylib
dyld: lazy symbol binding failed: Symbol not found: _clock_gettime
  Referenced from: /private/var/folders/qt/0lwncv3s1cx8rrpzjb_hbsv00000gn/T/ruby-build.20161230132827.32808/ruby-2.4.0/./miniruby (which was built for Mac OS X 10.12)
  Expected in: /usr/lib/libSystem.B.dylib
dyld: Symbol not found: _clock_gettime
  Referenced from: /private/var/folders/qt/0lwncv3s1cx8rrpzjb_hbsv00000gn/T/ruby-build.20161230132827.32808/ruby-2.4.0/./miniruby (which was built for Mac OS X 10.12)
  Expected in: /usr/lib/libSystem.B.dylib
make: *** [.rbconfig.time] Trace/BPT trap: 5
make: *** Waiting for unfinished jobs....
make: *** [encdb.h] Trace/BPT trap: 5

 次のように XCode のコマンドラインツールを再セットアップします。

$ xcode-select --install
xcode-select: note: install requested for command line developer tools

おわりに

 本稿では Homebrew で macOS に rbenv をインストールする方法について解説しました。 皆様のお仕事のお役に立てれば幸いです。

Ruby環境構築入門へ戻る

更新履歴

  • 2016年12月30日 : 初稿を執筆しました。
  • 2020年04月26日 : macOS Catalina で動作を確認し、わかりづらい表現を修正しました。

著者 : OSCA

OSCA

Java, PHP 系のWEBエンジニア。 WEBエンジニア向けコミュニティ「WEBエンジニア勉強会」を主催。
個人として何か一つでも世の中の多くの人に使ってもらえるものを作ろうと日々奮闘中。
@engineer_osca