Ruby on Rails

pg(railsのpostgres)のGemが入らない

投稿日:

はじめに

RailsアプリをHerokuにデプロイしようとするもSQLiteのためデプロイできず、、

仕方なくSQLite⇒Postgresに移行するため、pgのGemをインストールしようとしたところエラー発生。

そもそもPostgresをサーバに入れてなかったりとか、yum使ったせいで古いバージョンだったりとかでエラー吐きまくりでしたが、結局Postgres 11入れてDatabase設定すれば解決しました。

解決手順

PostgreSQLを導入

標準で設定されているyumのリポジトリを使ってしまうと、バージョンが古いため、pgのGemをインストール時にエラーが出ます。

新しいバージョンをリポジトリの指定を付けて導入します。

※間違ってたらすみません。

パスを通します。(下記はvimで編集してます。)

下記を追加してください。

反映します。

postgresユーザーのパスワードを設定します。

データベースを初期化して起動します。(文字コードはutf-8にしてます。)

Railsへのpg導入

config/database.ymlを編集します。

下記はローカル環境も本番環境もPostgresとしてます。

Gemfileにpgを追加します。

インストールします。

ちなみに、herokuへのデプロイ後は”heroku run rails db:migrate”を忘れずに。

【おまけ】bundle install時のエラー


Postgresが入ってないときとか、パス通ってないときのエラー

バージョン古いエラー

-Ruby on Rails

Copyright© 若手SIerサラリーマンの独学メモ , 2024 All Rights Reserved Powered by STINGER.