Ruby好き非エンジニアのブログ

〜Ruby on Railsの学習記録〜

gem 'pg' インストール時のエラー解決方法

プロフィール用の画像アップロードを実装する前にRailsの環境設定をしていたところ、
gem 'pg'のインストールで少しハマったのでメモ。


画像アップロードはクラウド上でおこないます。
使用するgemは、
・carrierwave
・cloudinary
※アップロード先はHeroku。

ということでHerokuにデプロイするため、PostgreSQLを使えるようにアプリケーションの設定を変更します。
(現在はSQLiteを使用していますが、Heroku上ではSQLiteは使用できないため)

gem 'sqlite3', group: :development
#本番ではpostgressを使用
gem 'pg', group: :production

※developmentモードではSQLiteを、productionモードではPostgreSQLを使用するようgroup分けをしています。

続いて

$ bundle install

ここは簡単にスルー。

のはずが、エラー発生。

エラー内容を見てみると、

An error occurred while installing pg (0.19.0), and Bundler cannot continue.
Make sure that `gem install pg -v '0.19.0'` succeeds before bundling.

と出ています。



んー。



もう少し遡ってみると、

Can't find the 'libpq-fe.h header

とありました。

libpq-fe.hが無くエラーが出ているようです。

いろいろ調べながら試してもエラー続きでしたが、
postgresql を Homebrew でインストールしたら解決しました。

$ brew install postgresql

これで

$bundle install

で通りました!

は〜良かった良かった。

ついでにデータベースの設定もしておきます。
config/database.yml

〜略〜
production:
  <<: *default
  adapter: postgresql
  encoding: unicode
  pool: 5

以上。
思わぬところで止まってしまいましたが、ちゃんと次に進めそうです。

ではでは。