0
0

More than 1 year has passed since last update.

bundle install(gem install pg)が通らない時の対処 on macのhomebrew環境

Posted at

ただのメモ書きです

背景とか

gemのnative拡張の.so依存は、基本的にはpkg-configにまかせていればよいのだけど、
残念ながら、gem "pg"においては、pg_configを参照できないときに、pkg-configにfallbackしてくれるのは、2022年1月リリースのv1.3.0からである。
see: https://github.com/ged/ruby-pg/blob/master/History.rdoc#v130-2022-01-20-michael-granger-gedfaeriemudorg-

プロダクトコードのライブラリバージョンを上げるのは後からにして、ひとまずbundle configでの解決策をメモしておく。
(他にもpkg-configに対応していないnative拡張のgemがあったら後で自分で参照する用)

ネイティブライブラリのインストール

homebrewのpostgres formulaeを入れると、サーバーごと入ってしまうので、libpqのみ入れる
gemは"pg"だけど、ライブラリは"libpq"なので注意。(なんなんや)

brew install libpq

# 確認
ls -l $(brew --prefix libpq)/bin/pg_config
-r-xr-xr-x  1 hoge  hoge  72016  5 10 06:25 /usr/local/opt/libpq/bin/pg_config

bundlerのconfigを設定してインストール

gemコマンドに対するオプションはbundle-configで与えるようにする。
この設定は永続化するので1回だけやればいい。
プロジェクト毎にconfigするのは面倒なので、--globalにして、$HOME/.bundle/config に設定を入れてしまって構わないと思う。(詳しい人、問題がありそうなら教えてください)

bundle config --global build.pg --with-pg-config=$(brew --prefix libpq)/bin/pg_config

解決したはず

bundle

参考にした記事

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