我正在使用 Ruby on Rails 3.1 预版本。我喜欢使用 PostgreSQL,但问题是安装pggem。它给了我以下错误:
pg
$ gem install pg Building native extensions. This could take a while... ERROR: Error installing pg: ERROR: Failed to build gem native extension. /home/u/.rvm/rubies/ruby-1.9.2-p0/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 --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=/home/u/.rvm/rubies/ruby-1.9.2-p0/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/u/.rvm/gems/ruby-1.9.2-p0/gems/pg-0.11.0 for inspection. Results logged to /home/u/.rvm/gems/ruby-1.9.2-p0/gems/pg-0.11.0/ext/gem_make.out
我该如何解决这个问题?
看起来在 Ubuntu 中,标头是libpq-dev包的一部分(至少在以下 Ubuntu 版本中: 11.04(Natty Narwhal)、10.04(Lucid Lynx)、11.10(Oneiric Ocelot)、12.04(Precise Pangolin)、14.04(Trusty Tahr)和18.04(仿生海狸)):
libpq-dev
... /usr/include/postgresql/libpq-fe.h ...
因此,请尝试libpq-dev为您的操作系统安装或等效的:
sudo apt-get install libpq-dev
yum install postgresql-devel
brew install postgresql
gem install pg -- --with-pg-config=/opt/local/lib/postgresql[version number]/bin/pg_config
zypper in postgresql-devel
pacman -S postgresql-libs