概要

新しいMacにiOS開発環境を作成するのにRubyの準備をするの好きではないが、iOS開発で多くのプロジェクトがCocoaPodsfastlaneなどの利用のためRubyを必要とする。それも同じバージョンで、

もし複数のプロジェクトが違うRubyバージョンを使って開発を行っている場合は複数のRubyバージョンのインストールと各プロジェクトで適切なRubyバージョンを利用できるようにする必要がある。

今まではrbenvで適当にやって来たけど、新しい環境ではchrubyruby-installを使うのでちょっと使い方をメモしておく。

chrubyruby-installのインストール

Homebrewを利用して行う。

1
$ brew install chruby ruby-install

Rubyのインストール

ruby-installを利用してフルバージョンまたはマイナーバージョンまでを指定して行う。

1
2
3
$ ruby-install ruby 2.7.6
または
$ ruby-install ruby 2.7

ちなみにアンインストールはフォルダーの削除で行う。

1
$ rm -rf ~/.rubies/ruby-2.7.6

chrubyの設定

chrubyはインストール後利用する前に設定が必要なのでbrew info chrubyの結果を確認して自分のシェル設定ファイルにchruby.shauto.sh追加しておく

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
$ brew info chruby
chruby: stable 0.3.9 (bottled), HEAD
Ruby environment tool
https://github.com/postmodern/chruby#readme
/usr/local/Cellar/chruby/0.3.9 (12 files, 51.2KB) *
Poured from bottle on 2022-04-14 at 22:05:29
From: https://github.com/Homebrew/homebrew-core/blob/HEAD/Formula/chruby.rb
License: MIT
==> Options
--HEAD
Install HEAD version
==> Caveats
Add the following to the ~/.bash_profile or ~/.zshrc file:
source /usr/local/opt/chruby/share/chruby/chruby.sh

To enable auto-switching of Rubies specified by .ruby-version files,
add the following to ~/.bash_profile or ~/.zshrc:
source /usr/local/opt/chruby/share/chruby/auto.sh
==> Analytics
install: 4,390 (30 days), 11,324 (90 days), 33,170 (365 days)
install-on-request: 4,377 (30 days), 11,291 (90 days), 33,047 (365 days)
build-error: 0 (30 days)

一応シェル設定ファイル編集後は再起動

1
exec $SHELL -l

chrubyの利用

インストール済みのRubyバージョンの確認

1
2
3
4
5
6
$ chruby
ruby-2.7.6
* ruby-3.1.2

$ ruby -v
ruby 3.1.2p20 (2022-04-12 revision 4491bb740a) [x86_64-darwin21]

Rubyバージョンの指定

1
2
3
4
5
6
7
8
$ chruby 2.7

$ chruby
* ruby-2.7.6
ruby-3.1.2

$ ruby -v
ruby 2.7.6p219 (2022-04-12 revision c9c2245c0a) [x86_64-darwin21]

もちろんフォルダーに.ruby-versionでRubyバージョンの記入があればauto.shが自動で設定してくれる

1
2
3
To enable auto-switching of Rubies specified by .ruby-version files,
add the following to ~/.bash_profile or ~/.zshrc:
source /usr/local/opt/chruby/share/chruby/auto.sh