概要
bundle installしたら「Your Ruby version is 2.6.3, but your Gemfile specified 2.7.1」エラーが出たので解決方法を書きました。
1人でも多くの人の役にたてればと思います。
はじめに
使用する環境
- MacOS(Intel)
- Rails 6.0.3
- Ruby 2.6.3
- yarn 1.22.17
- Homebrew 3.5.0
状況
bundle installしたら上記エラーが出た。
エラー文はローカルの環境のrubyは2.6.3だけど、gemfileに記述されてるrubyは2.7.1になってるから合わせてねってこと
Rbenvでインストール可能なRubyのバージョンを確認
$ rbenv install -list
バージョンを指定してインストール
$ rbenv install 2.7.1
上記のrbenvでインストール可能欄に入ってなくても直接指定することでインストールすることが可能です。
反映する
$ rbenv rehash
使用可能なRubyのバージョンを確認
$ rbenv versions
カレントディレクトリに反映
$ rbenv local 2.7.1
Rubyのバージョン変更されてるかを確認
$ rbenv versions
system
2.5.5
* 2.7.1 (set by /Users/user/cool/path/lockers/gitrepos/forms/.ruby-version)
再度bundle install
$ bundle install
タイトルと同じエラーが出る
gemfileの確認
$ gem environment
2.6.3になっている
- RUBYGEMS VERSION: 3.0.3
- RUBY VERSION: 2.6.3 (2019-04-16 patchlevel 62) [universal.x86_64-darwin20]
- INSTALLATION DIRECTORY: /Library/Ruby/Gems/2.6.0
- USER INSTALLATION DIRECTORY: /Users/user/.gem/ruby/2.6.0
- RUBY EXECUTABLE: /System/Library/Frameworks/Ruby.framework/Versions/2.6/usr/bin/ruby
- GIT EXECUTABLE: /usr/local/bin/git
- EXECUTABLE DIRECTORY: /usr/local/bin
- SPEC CACHE DIRECTORY: /Users/user/.gem/specs
- SYSTEM CONFIGURATION DIRECTORY: /Library/Ruby/Site
- RUBYGEMS PLATFORMS:
略
解決方法
なんでだろと思ってパスを確認すると
$ which gem
/usr/bin/gem
Rubyのパスを確認
$which ruby
/usr/bin/ruby
元々のMacに入ってるシステムで管理してるのでrbenvで管理するようにする
.zshrcファイルにパスを通す
$ echo '# rbenv' >> ~/.zshrc
$ echo 'export PATH=~/.rbenv/bin:$PATH' >> ~/.zshrc
$ echo 'eval "$(rbenv init -)"' >> ~/.zshrc
設定ファイルに反映
$ source ~/.zshrc
再度確認
$ which ruby
/Users/user/.rbenv/shims/ruby
$ which gem
/Users/user/.rbenv/shims/gem
Rbenvで管理されるようになった
再度bundle install
動いた
最後に
rbenvで管理しないといけないことに気づかなくて時間が経ってしまった
改めてrubyの理解が深まった。