からくりがてんこ

IT関連情報、プログラミングに関する作業ログや備忘録を記載していきます。

Can't find the PostgreSQL client library (libpq)

bundle install をやろうとしたらPostgreSQLの部分で引っかかった!
エラーはこれだ。

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

/System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/bin/ruby -r ./siteconf20150210-95873-qu3hcp.rb 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)

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.

Provided configuration options:
--with-opt-dir
--without-opt-dir
--with-opt-include
--without-opt-include=${opt-dir}/include
--with-opt-lib
--without-opt-lib=${opt-dir}/lib
--with-make-prog
--without-make-prog
--srcdir=.
--curdir
--ruby=/System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/bin/ruby
--with-pg
--without-pg
--with-pg-config
--without-pg-config
--with-pg_config
--without-pg_config
--with-pg-dir
--without-pg-dir
--with-pg-include
--without-pg-include=${pg-dir}/include
--with-pg-lib
--without-pg-lib=${pg-dir}/
--with-pqlib
--without-pqlib
--with-libpqlib
--without-libpqlib
--with-ms/libpqlib
--without-ms/libpqlib

extconf failed, exit code 1

Gem files will remain installed in /var/folders/rj/_nds95ds7_92vl12jc2nwd0c0000gn/T/bundler20150210-95873-1p01syj/pg-0.17.1/gems/pg-0.17.1 for inspection.
Results logged to /var/folders/rj/_nds95ds7_92vl12jc2nwd0c0000gn/T/bundler20150210-95873-1p01syj/pg-0.17.1/extensions/universal-darwin-14/2.0.0/pg-0.17.1/gem_make.out
An error occurred while installing pg (0.17.1), and Bundler cannot continue.
Make sure that `gem install pg -v '0.17.1'` succeeds before bundling.

なるほど、"gem install pg"で解決かな〜って思ったけど、
今まで散々躓いたからそう簡単にはコマンド実行しないぜ!

先回りしてちょっと調べると環境変数の指定があるといいかってことで、これ実行!

$ sudo env ARCHFLAGS="-arch x86_64" gem install pg -v '0.17.1'
$ bundle install

…あれ?
話が違うじゃないか。

なのでもう少し深く潜ってみるダイブッ!(ハ○ワンダ○バー)
んで、これで解決。

$ ARCHFLAGS="-arch x86_64" bundle install

bundle installの時にも指定が必要だったのね。