状況
ターミナルでいつも通り、railsサーバーを立ち上げようとしたところ、
terminal
user@usernoMacBook-Air app名 % rails s
Traceback (most recent call last):
5: from bin/rails:3:in `<main>'
4: from bin/rails:3:in `load'
3: from /Users/user/app名bin/spring:10:in `<top (required)>'
2: from /Users/user/app名/bin/spring:10:in `new'
1: from /System/Library/Frameworks/Ruby.framework/Versions/
2.6/usr/lib/ruby/2.6.0/bundler/lockfile_parser.rb:95:in `initialize'
/System/Library/Frameworks/Ruby.framework/Versions/2.6/usr/lib/ruby
/2.6.0/bundler/
lockfile_parser.rb:108:in `warn_for_outdated_bundler_version'
: You must use Bundler 2 or greater with this lockfile. (Bundler::LockfileError)
上記のエラーが出て、サーバーが急に立ち上がらなくなってしまいました。
###環境
terminal
■ruby -v
ruby 2.5.3p105 (2018-10-18 revision 65156) [x86_64-darwin19]
■bundler -v
Bundler version 1.7.4
行ったこと
bundlerはすでにインストールされている為
terminal
sudo gem update bundler
を行うと、
terminal
Your Ruby version is 2.6.3, but your Gemfile specified 2.5.3
と出てしまう。
開発しているアプリのrubyのバージョンが2.5.3だが
なぜかMacのローカルの開発環境のrubyのバージョンが2.6.3になってしまっており、
(自分で自覚がなくアップグレードしてしまったのかもしれません)
バージョンが違う為、上記が表示されていました。
既にAWSにデプロイ様の本番環境を作っており、本番環境でのrubyのバージョンが
2.5.3だった為バージョンは2.5.3で統一したく、
terminal
rbenv local 2.5.3
(今後、railsを用いて他のアプリをローカルで開発する可能性を考えて
rbenv globalではなく、あえてlocalでこのプロジェクトだけ2.5.3を使うよう指定しました)
terminal
source ~/.bash_profile
これで、無事サーバーが立ち上がりました!
###今後
なぜローカルのrubyのバージョンが上がってしまったのかを
調査したいと思います。。。