Macに直接Rubyをインストールすると,プロジェクトごとにRubyのバージョンを変更することが難しくなります.このような問題はrbenvによって解決されます.また,様々なxxenvをまとめて管理するanyenv経由でrbenvをインストールする手順を紹介します.
目次
anyenvのインストール
本記事の以降のステップではanyenvがインストールされていることを前提としています.Macへのanyenvのインストールは以下の記事を参考にしてください.
rbenvのインストール
$ anyenv install rbenv
$ exec $SHELL -l
rbenv
でインストール可能なruby
のバージョンを確認します.
$ rbenv install --list
2.6.10
2.7.6
3.0.4
3.1.2
jruby-9.3.4.0
mruby-3.0.0
rbx-5.0
truffleruby-22.1.0
truffleruby+graalvm-22.1.0
最新版の3.1.2
をインストールします.
$ rbenv install 3.1.2
インストール済のrubyのバージョンを確認します.
% rbenv versions
* system
3.1.2 (set by /Users/[username]/.anyenv/envs/rbenv/version)
global
を3.1.2
に変更します.
$ rbenv global 3.1.2
ログインシェルを再起動します.
$ exec $SHELL -l
globalのRubyのバージョンを確認します.
% rbenv versions
system
* 3.1.2 (set by /Users/[username]/.anyenv/envs/rbenv/version)
rbenvを使う際の注意事項
gemをインストールする際に,rbenv exec
を指定する必要があるという記事を見かけます.rbenv exec
はrbenvのrubyやgem のパスを使用することを明示的に示すためのものです.
rbenv exec gem install bundler
rbenv exec
を書く必要がるかは環境によります.which gem
でgem
のパスを確認します.以下のようにgem
がrbenv配下のパスになっていれば,rbenv execを指定する必要はありません.
% which gem
/Users/[username]/.anyenv/envs/rbenv/shims/gem
rubyのバージョンをruby local xx
等で変更後,exec $SHELL -l
をすれば,.zshrc
に記載したanyenv init
が実行されるので,rubyは切り替えた後のバージョンに変わっているはずです.そのため,gem
を実行した場合,現在設定しているバージョンのrubyのものを呼び出してくれます.