「The Ruby version you are trying to install does not exist on this stack. heroku-20 You are trying to install ruby-2.6.5 on heroku-20. Ruby ruby-2.6.5 is present on the following stacks:cedar-14 heroku-16 heroku-18」とかいうエラーで、Rubyバージョン2.6.5のRails-appがHerokuにデプロイできない、、、
問題のエラー
解決策
1.Rubyのバージョンを2.6.6
か、2.7.2
か、3.0.0
に変更する
(例)Rubyのバージョンを2.6.6
に変更する場合
1.Ruby 2.6.6 をインストール(以下をターミナルで実行)参考
$ brew update // brewをアップデート
$ brew upgrade ruby-build // ruby-buildをアップデート
$ rbenv install 2.6.6 // ruby2.6.6 をインストール
$ rbenv global 2.6.6 // ruby2.6.6 をローカルのデフォルトに設定
2..ruby-version
のバージョンを 2.6.6 に変更
3.Gemfile
のRubyバージョンを 2.6.6 に変更
4.再 bundle install
$ rm Gemfile.lock // Gemfile.lockを削除
$ rm -rf venvor/bundle // venvor/bundleを削除
$ bundle install --path vendor/bundle // インストールするパスを指定してbundle install
5.git add から herokuデプロイまで 1コマンドで実行
$ git add .; git commit -m 'fix: ruby version'; git push heroku master
2.<追記>herokuのstackを18に下げる
ターミナルで、現在デプロイしようとしているアプリのディレクトリにいき、以下を実行
$ heroku login // 実行後にエンターしてログイン
$ heroku stack:set heroku-18 // stackを heroku-18 に下げる
$ git push heroku master // デプロイ
以上でデプロイできたはず!
原因
Herokuの公式サイトに、現在対応しているRubyのバージョンが記載されていた
対応していないRubyバージョンでデプロイしていたことが原因みたい
エラー文(テキストコピー)
remote: ! The Ruby version you are trying to install does not exist on this stack.
remote: !
remote: ! You are trying to install ruby-2.6.5 on heroku-20.
remote: !
remote: ! Ruby ruby-2.6.5 is present on the following stacks:
remote: !
remote: ! - cedar-14
remote: ! - heroku-16
remote: ! - heroku-18
remote: !
remote: ! Heroku recommends you use the latest supported Ruby version listed here:
remote: ! https://devcenter.heroku.com/articles/ruby-support#supported-runtimes
remote: !
remote: ! For more information on syntax for declaring a Ruby version see:
remote: ! https://devcenter.heroku.com/articles/ruby-versions
https://qiita.com/___xxx_/items/bb85d26d50ff3940441c
https://qiita.com/wann/items/47983dad181e6df4c867
https://devcenter.heroku.com/ja/articles/getting-started-with-rails6