経緯
MacでGemをインストールしようとしたところエラーや、作業が詰まったところがあったため、その解決までに至る経緯をメモ。
目指すゴール
Faker((テストデータを取得するGem)をインストールし、挙動を確認したい。
課題
1.バージョンが古かった
FakerというGemをインストールを試みたところ
「fakerはRubyバージョン>= 2.7が必要です。現在のRubyバージョンは2.6.10.210です。」
とエラーが表示された。
$ gem install faker
faker requires Ruby version >= 2.7. The current ruby version is 2.6.10.210.
2.rbenvで上手くバージョンが切り替わらなかった
rbenvで3.0.0をインストールしglobal設定したが、ruby -v で確認すると上手く設定できていない。
$ rbenv global 3.0.0
$ rbenv versions
system
*3.0.0
$ ruby -v
ruby 2.6.10
解決までの経緯
1.バージョン3.0.0のインストール
まずは、バージョン3.0.0のインストールをする。大まかの流れは
Homebrewをインストール
$ /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install.sh)"
↓
Homebrewを用いてrbenv(アール・ビー・エンブ)をインストール
brew install rbenv ruby-build
↓
rbenvを用いてRubyをインストール
rbenv install 3.0.0
しかし、グローバル設定もしたが、上述課題の通りruby -v で確認すると上手く設定できていない。
2.PATHの設定
ディレクトリ固有のバージョンを指定していると思い、バージョン指定を取り消すコマンドを実施したが、globalで設定しているため変化がなかった。
$ rebenv local --unset
rbenv rehash
調べたところ、Ruby実行ファイルのPATH設定が上手くできていなかったことが原因であった。which rubyで、コマンドがどのRuby実行ファイルを使用しているかを確認。
$ which ruby
/user/bin/ruby
となっており、Rubyコマンドとrbenvの実行環境の整合性がとれていないことがわかった。そこで、rbenvがシェルセッションで機能するように以下の通り実行する。
$ echo 'eval "$(rbenv init -)"' >> ~/.zshrc
$ source ~/.zshrc
すると
$ ruby -v
ruby 3.0.0
ruby -vが期待通りの結果となった。
ゴール確認
fakerジェムも無事インストールすることができ、それっぽい人名がランダムで作成された。
require 'faker'
puts Faker::Name.name #=> Audra Ebert