LoginSignup
1
0

More than 1 year has passed since last update.

Ruby 2.5.1で作成したアプリがHeroku-20へ対応しておらず、デプロイできない。

Last updated at Posted at 2021-06-17

Ruby on Railsを勉強し始めて約3ヶ月。
先日やっと、就活に使うポートフォリオが完成。。。
ひと段落したので、Qiita投稿デビューも兼ねて、最も頭を抱えたデプロイ過程でのエラーについて記録を残しておく。

#発生したエラー

「The Ruby version you are trying to install does not exist on this stack.」
「You are trying to install ruby-2.5.1 on heroku-20.」

ざっくり翻訳してみると、

「あなたがインストールしようとしているRubyのバージョンはこのstackに存在しないよ。」
「あなたはruby-2.5.1をheroku-20にインストールしようとしているよ。」

どうやら、Ruby2.5.1はHeroku-20には対応していないバージョンらしい...。

#対応するRubyバージョンの確認

↑HerokuのHPで、Heroku-20に対応するRubyバージョンを調べてみたところ、

MRI:
2.6.7, Rubygems: 3.0.3.1
2.7.3, Rubygems: 3.1.6
3.0.1, Rubygems: 3.2.15

このように表記されている。(2021年6月17日時点)

#解決方法
確認したいずれかのRubyバージョンにアップデートする必要がある。

$ rbenv install --list    //インストール可能なrubyのバーションを確認
$ rbenv install 2.7.3    //2.7.3がインストール可能だったので、バージョン指定してインストール
$ rbenv versions  //インストールできたか確認
$ rbenv global 2.7.3   //2.7.3をデフォルトに適用

一応、Ruby2.7.3へアップデートできたが、このままでは対応するRailsのgemが入っていないため、Railsコマンドが使えない。

Railsのgemをインストールする。

$ gem update --system  //gemのアップデート
$ gem install bundler  //bundlerのインストール
$ gem install rails   //Railsのインストール
$ rails --version   //バージョンを確認
Rails 5.2.6

最後にGemfileの編集&bundleのアップデートも忘れずに。

ruby '2.7.3'  //アップデートしたバージョンに書き換える
$bundle update  //bundleをアップデート

これで完了!

#参考
https://qiita.com/___xxx_/items/12c8ab953bc6aaeb8c24
https://qiita.com/kamillle/items/5a7befd0ebad47378832
https://mophie-blog.com/2020/08/29/the-rails-command-exists-in-these-ruby-versions/

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0