BitArts Blog

ロードバイク通勤のRubyプログラマで伊豆ダイバー。の個人的なブログ。

pg_configのありか

メモです。

PostgreSQLをインストールしたいがCentOS公式リポジトリのものはバージョンが古い。最新の9.2を使いたいぜ!

そんな時はこちら↓のyumリポジトリを追加する方法でパッケージインストールするのが良いっぽい。

PostgreSQL: Linux downloads (RedHat/CentOS/Fedora/Scientific)

# rpm -i http://yum.postgresql.org/9.2/redhat/rhel-6.3-x86_64/pgdg-centos92-9.2-5.noarch.rpm
# yum install postgresql92 postgresql92-server postgresql92-devel postgresql92-contrib
# service postgresql-9.2 initdb
# service postgresql-9.2 start
# chkconfig postgresql-9.2 on

でも、Rubyから利用するために、gem install pgするとガッツリとエラーが出ます。

$ gem install pg

Gem::Installer::ExtensionBuildError: ERROR: Failed to build gem native extension.
/usr/local/rvm/rubies/ruby-1.9.3-p194/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. Provided configuration options:
--with-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=/usr/local/rvm/rubies/ruby-1.9.3-p194/bin/ruby
--with-pg
--without-pg
--with-pg-dir
--without-pg-dir
--with-pg-include
--without-pg-include=${pg-dir}/include
--with-pg-lib
--without-pg-lib=${pg-dir}/lib
--with-pg-config
--without-pg-config
--with-pg_config
--without-pg_config
Gem files will remain installed in /home/web/jb/vendor/bundle/ruby/1.9.1/gems/pg-0.14.1 for inspection.
Results logged to /home/web/jb/vendor/bundle/ruby/1.9.1/gems/pg-0.14.1/ext/gem_make.out
An error occurred while installing pg (0.14.1), and Bundler cannot continue.
Make sure that `gem install pg -v '0.14.1'` succeeds before bundling.

pg_configが無いと言われていますが、PATHが通っていないだけなのでPATHを通せばokです。

 export PATH=/usr/pgsql-9.2/bin:$PATH