我正在尝试为Ruby安装PostgreSQL的pg gem。

我发出了以下命令:

gem install pg

我使用RVM安装Ruby 1.9.2。

上面的命令显示了以下错误。

错误是:

Building native extensions.  This could take a while...

ERROR:  Error installing pg:

ERROR: Failed to build gem native extension.

/home/User/.rvm/rubies/ruby-1.9.2-preview3/bin/ruby extconf.rb

checking for pg_config... yes
checking for libpq-fe.h... yes
checking for libpq/libpq-fs.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=/home/User/.rvm/rubies/ruby-1.9.2-preview3/bin/ruby
 --with-pg
 --without-pg
 --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}/lib
 --enable-static-build
 --disable-static-build
 --with-pqlib
 --without-pqlib
 --with-libpqlib
 --without-libpqlib
 --with-ms/libpqlib
 --without-ms/libpqlib

Gem files will remain installed in /home/user/.rvm/gems/ruby-1.9.2-preview3/gems/pg-0.9.0 for inspection.

Results logged to /home/user/.rvm/gems/ruby-1.9.2-preview3/gems/pg-0.9.0/ext/gem_make.out

我不知道是什么错误…


当前回答

我也遇到了同样的问题,并尝试了许多不同的变体。经过一些尝试,我成为能够sudo宝石安装,但仍然有问题安装它没有sudo。 最后我找到了一个决定——重新安装rvm帮助了我。也许这样能帮别人节省时间。

其他回答

对于那些在尝试了本页上的所有答案后仍然有问题的人来说,下面的方法(最终)奏效了:

sudo apt-get install libgmp3-dev
gem install pg

这是在做了这一页上提到的所有事情之后。

postgresql 9.5.8 Ubuntu 16.10

我也遇到了同样的问题,并尝试了许多不同的变体。经过一些尝试,我成为能够sudo宝石安装,但仍然有问题安装它没有sudo。 最后我找到了一个决定——重新安装rvm帮助了我。也许这样能帮别人节省时间。

这解决了我在Ubuntu 12.04上的问题,之前这里的每个建议都失败了。

rvmsudo gem install pg -v '0.12.2' -- --with-pg-lib=/usr/include/postgresql

试试这个

sudo apt-get install postgresql postgresql-contrib libpq-dev

为了安装客户端,首先应该安装PG数据库服务器。然后,安装客户端。

请参阅这篇博客文章,了解如何第一次为Ruby on Rails开发设置PostGresSQL。

Apt-get安装ruby-dev对我有用。