railsで試作したアプリのherokuへのデプロイ時に起きたエラーです。
heroku run rails db:migrate
を実行した際、以下のようなメッセージが出てエラーになりました。
vagrant@ubuntu-bionic:/vagrant/sample$ heroku run rails db:migrate
Running rails db:migrate on ⬢ sample0001... up, run.5749 (Free)
Your Ruby version is 2.5.1, but your Gemfile specified 2.5.5
「2.5.1バージョンのRubyを使っているのにGemfileでは2.5.5バージョンのRubyを指定しているぞ」ということかと思い、以下の確認をしました。
1.Gemfile
まずGemfileですが、確かにruby '2.5.5'
を指定していました。
2.ゲストOSのRuby -v
上記でheroku run rails db:migrate
をしたのと同じ場所でruby -v
を確認したところ、以下のように出ました。
vagrant@ubuntu-bionic:/vagrant/sample$ ruby -v
ruby 2.6.3p62 (2019-04-16 revision 67580) [x86_64-linux]
ruby 2.6.3 となっています。
3.ホストOSのRuby -v
vagrant ssh
を抜け、ホストOS側でruby -v
を確認したところ、以下のように出ました。
C:\Users\b7tig\Desktop\vagrant>ruby -v
ruby 2.6.3p62 (2019-04-16 revision 67580) [x64-mingw32]
ruby 2.6.3 となっています。
heroku run rails db:migrate
を打った時に出た
Your Ruby version is 2.5.1
とはどういうことなのでしょうか。
さらに疑問
Your Ruby version is 2.5.1, but your Gemfile specified 2.5.5
ということだったので、試しにGemfileのruby指定をruby '2.5.5'
からruby '2.5.1'
に変え、以下の手順を踏みました。
$ git add -A
$ git commit -m "Update application"
$ git push heroku master
すると、今度は以下のエラー文が出ました。
Your Ruby version is 2.5.5, but your Gemfile specified 2.5.1
Bundler Output: Your Ruby version is 2.5.5, but your Gemfile specified 2.5.1
先ほどと真逆で、今度は「2.5.5バージョンのRubyを使っているのにGemfileでは2.5.1バージョンのRubyを指定しているぞ」となっています。
ちなみに、Gemfileのruby指定をruby '2.5.5'
からruby '2.5.1'
に変えた段階でbundle install
を打つと、やはり
Your Ruby version is 2.5.5, but your Gemfile specified 2.5.1
と出ます。
なぜheroku run rails db:migrate
したときだけ
>Your Ruby version is 2.5.1
となってしまうのでしょうか。
そもそも使っているのは ruby 2.6.3 のはずですが。
わけがわからないです。お助けください。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。