0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

【Heroku】デプロイ時エラー error: failed to push some refs to

Last updated at Posted at 2023-06-01

◼️はじめに

Herokuにデプロイした際に
error: failed to push some refs to
のエラーが発生したので記録しておきます。

◼️やったこと

1.新しくHerokuのurlを取得

$ heroku create

2.Gemfileに以下のgemを追加

Gemfile
gem 'net-smtp'
gem 'net-imap'
gem 'net-pop'

3.インストール

$ bundle install

4.Heroku buildpackを追加

$ heroku buildpacks:set heroku/ruby
$ heroku buildpacks:add --index 1 heroku/nodejs

5.HerokuにPostgreSQLのアドオン追加

$ heroku addons:create heroku-postgresql

6.Herokuにデプロイ

$ git push heroku master

◼️エラー発生

git push heroku master をするとエラーが発生
スクリーンショット 2023-06-01 11.23.57.png

▼原因

stackのバージョンが違うためエラーが出ている

▼対応

1.stackのバージョンを確認

$ heroku stack

2.heroku-22になっていることが判明
スクリーンショット 2023-06-01 11.53.45.png
3.以下コマンドでheroku-22からheroku-20へ変更する

$ heroku stack:set heroku-20

◼️エラー発生②

heroku run rails db:migrateをするが再度エラー発生
Bootstrap記載漏れやJavascripを消去したりする中でこのエラーに出会う

スクリーンショット 2023-06-01 12.07.04.png

config/database.yml ファイルの記述に注目

PostgreSQLの場合

default: &default
  adapter: postgresql // ここがPostgreSQL
  encoding: unicode
  # For details on connection pooling, see Rails configuration guide
  # https://guides.rubyonrails.org/configuring.html#database-pooling
  pool: <%= ENV.fetch("RAILS_MAX_THREADS") { 5 } %>

となるところを、rails newの時にPostgreSQLを指定していないと以下の記載になるそうです。

default: &default
  adapter: sqlite3 // ここがSQLite3
  encoding: unicode
  # For details on connection pooling, see Rails configuration guide
  # https://guides.rubyonrails.org/configuring.html#database-pooling
  pool: <%= ENV.fetch("RAILS_MAX_THREADS") { 5 } %>

そのため以下原因に辿り着きました。
(通っているスクール(Dpro)のメンターさんにご教授頂きました🙇)

▼原因

Railsアプリをrails newしたとき、DBをPostgreSQLにするオプションを忘れていたのが原因...
まだまだ慣れておらず単純なことを失念しておりました...

▼対応

1.SQLite3 から PostgreSQL へ変更するコマンドを実行

$ rails db:system:change --to=postgresql

2.以下、を行いデプロイ完了
rails db:migrate
git add .
git commit
git push heroku master
heroku run rails db:migrate

◼️最後に

初めてのHerokuデプロイで、エラーがいくつも発生し時間を費やしてしまいましたが、
エラー原因は単純なことでした。
初歩的なミスをなくしていけるように精進します。

参照

Heroku
https://devcenter.heroku.com/ja/articles/stack
Rails 6 で DB を SQLite3 から PostgreSQL に変更するのはコマンド一発
https://k-koh.hatenablog.com/entry/2020/08/14/144129

0
1
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
0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?