【Rails】pgのバージョンの関係でherokuへデプロイできない


エラー内容

$ git push heroku master

でherokuにデプロイ成功したように見えたが、errorとなる。

原因の特定

$ heroku logs

してみると、下記のようなエラーが出た。

at=error code=H10 desc="App crashed" method=GET path="/favicon.ico" host=u-app-beta.herokuapp.com request_id=955c19bf-bd70-4a3c-a40a-62435a4becc3 fwd="118.21.136.11" dyno= connect= service= status=503 bytes= protocol=https

いろいろ試してみた中で、

$ heroku run console

で下記エラーにたどり着いた。

Error loading the 'postgresql' Active Record adapter. Missing a gem it depends on? can't activate pg (~> 1.1), already activated pg-0.20.0. Make sure all dependencies are added to Gemfile. (LoadError)

'postgresql'のバージョンが合っていない?
(既に'0.20.0'がアクティベートされていて、'1.1'をアクティブにできない)

解決

同じエラーの記事を見つけた。

'sqlite3'の部分を'pg'に読み替えて、、、

$ gem uninstall pg -v 0.20.0

を実行。

Gemfile
group :production do
  gem 'pg', '0.20.0'
end

となっていたところを

Gemfile
group :production do
  gem 'pg', '1.1'
end

と書換えて、

$ bundle update

を実行。

$ git commit

して、

$ git push heroku

でうまく動きました!