Skip to content

How to solve gem pg install error

Takahiro Uchiyama edited this page Aug 13, 2014 · 7 revisions

Gemfileにpgを書いた状態で、bundle install を実行した時にエラーが出ました。 今回2種類のエラーを喰らいましたので、以下共有します。

1:ローカルにpostgresqlがインストールされていない

Gem::Ext::BuildError: ERROR: Failed to build gem native extension. 

/System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/bin/ruby extconf.rb  
checking for pg_config... no
No pg_config... trying anyway. If building fails, please try again with
--with-pg-config=/path/to/pg_config
checking for libpq-fe.h... no
Can't find the 'libpq-fe.h header
*** extconf.rb failed ***
Could not create Makefile due to some reason, probably lack of necessary
libraries and/or headers.  Check the mkmf.log file for more details.  You may
need configuration options. 

解決した方法 postgresqlをインストールする
自分の場合は、brew install postgresql で入れました

2: ライブラリの一部が見つけられないって言われる件

Gem::Ext::BuildError: ERROR: Failed to build gem native extension. 

/System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/bin/ruby extconf.rb
checking for pg_config... yes
Using config values from /usr/local/bin/pg_config
checking for libpq-fe.h... yes
checking for libpq/libpq-fs.h... yes
checking for pg_config_manual.h... yes
checking for PQconnectdb() in -lpq... no
checking for PQconnectdb() in -llibpq... no
checking for PQconnectdb() in -lms/libpq... no
Can't find the PostgreSQL client library (libpq)

解決方法 brew install 時にrecomended された

When installing the postgres gem, including ARCHFLAGS is recommended:
ARCHFLAGS="-arch x86_64" gem install pg

に従い、 bundle install時に

$ARCHFLAGS="-arch x86_64" bundle install

を実行したら完了しました。

以上です。 他のエラーが出た人とかはこのwikiに追加していく感じでよういでしょうか。