前提
- Intel Mac
- pg のバージョンは 1.4.6
- Ruby のバージョンは 3.2.2
- PostgreSQL のバージョンは 15
結論
bundler
の config にて、build.pg
に対して --with-opt-dir="/usr/local/opt/libpq"
を設定する。
具体的な設定方法
設定方法は 2つ あります。
1. bundle config コマンドで設定する場合
以下のコマンドを実行します。
$ bundle config --local build.pg --with-opt-dir="/usr/local/opt/libpq"
すると、カレントディレクトリの .bundle
配下に設定が永続的に記録され、以降の bundle install でインストールが成功します。
2. 環境変数で指定する場合
「1.」の内容を環境変数で指定します。「1.」を実行した場合に生成されるファイルの中身を見ると、どう設定すればいいかがわかります。
BUNDLE_BUILD__PG=--with-opt-dir=/usr/local/opt/libpq
の形で設定します*1。
この方法が活きるのは GitHub Actions の ruby/setup-ruby
を用いるときです。
公式ドキュメントにあるように、bundle config
で設定したい内容がある場合には原則として BUNDLE_HOGEHOGE
の環境変数で設定することが求められています*2。