如何在Ubuntu上安装PostgreSQL's pg gem ?

我正在尝试为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

我不知道是什么错误…

147430 次浏览

您需要安装带有postgreSQL头的postgreSQL开发包

sudo apt-get install libpq-dev

在阅读和阅读了2天,并尝试了其他笔记中发现的许多东西之后,下面这一行对我来说是Ubuntu Lucid 10.04混合了一些Maverick包和RVM (ruby 1.9.2-p290, RVM 1.10.2 rubygems 1.8.15, rails 3.0.1, postgres 8.4.10)的治愈方法:

gem install pg  --   --with-pg-lib=/usr/lib

结果:

Building native extensions.  This could take a while...
Successfully installed pg-0.13.1
1 gem installed
Installing ri documentation for pg-0.13.1...
Installing RDoc documentation for pg-0.13.1...

{是的-终于成功了}!! 注意,在我的Ubuntu / Postresql安装中,运行pg_config的输出在LIBS变量中缺少项-lpq !!< / p >

为什么在某些地方从pq切换到pg——新手会感到困惑??

我仍然不明白的是——and——with(选项的双集 但无论如何我已经超出了我的能力范围

对于.RVM用户,它将更好:

rvmsudo gem install pg -- --with-pg-lib=/usr/lib

它对我有用(在我看了jdupont版本后)

安装libpq-dev不适合我。我还需要安装build-essential

sudo apt-get install libpq-dev build-essential

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

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

我在Ubuntu 12.10上运行这个命令:

apt-get install libpq-dev

帮助我-之后运行gem安装pg -v“0.14.1”,现在一切都很好

如果你已经安装了libpq-dev,仍然有这个问题,这可能是由于OpenSSL的libssl版本和朋友的冲突- Ubuntu系统版本在/usr/lib (libpq是针对它构建的)和第二个版本的RVM安装在$HOME/。Rvm /usr/lib(如果是系统安装,则为/usr/local/ Rvm /usr/lib)。您可以通过临时重命名$HOME/来验证这一点。Rvm /usr/lib,看看“gem install pg”是否工作。

要解决这个问题,请使用系统OpenSSL库重新构建rvm(您可能需要手动删除libssl。*和libcrypto。*从rvm/usr/lib目录):

rvm reinstall 1.9.3 --with-openssl-dir=/usr

这最终解决了我在Ubunto 12.04上的问题。

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

ubuntu用户的简单解决方案…

首先卸载所有postgres包,然后运行这些命令…

sudo apt-get install postgresql
sudo apt-get install postgresql-client libpq5 libpq-dev


# for rvm (single user)
mv ~/.rvm/usr/lib ~/.rvm/usr/lib_rvm


# for rvm (multi-user)
mv /usr/local/rvm/usr/lib /usr/local/rvm/usr/lib_rvm


gem install pg  --   --with-pg-lib=/usr/lib

然后运行'bundle install'。一切都会好的。祝你有愉快的一天!

这个问题的另一个解决方案是使用Homebrew/linuxbrew安装PostgreSQL:

brew install postgresql

作为一种习惯,我不喜欢使用sudo,除非我不得不。

需要添加包

sudo apt-get install libpq-dev

在RoR中安装pg gem

我试图在新安装的Ubuntu 16.04中安装一个Rails项目。我在运行bundle时也遇到了同样的问题。运行

sudo apt-get install aptitude

紧随其后的是

sudo apt-get install libpq-dev

帮我解决了。

对于那些试图安装Redmine的人,在尝试了以上所有之后,我错过了sudo apt-get install ruby-all-dev

初始错误为mkmf.rb can't find header files for ruby at /usr/lib/ruby/include/ruby.h

试试这个

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

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

参见这篇博文了解如何第一次为Ruby on Rails开发设置PostGresSQL

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

sudo apt-get install libgmp3-dev
gem install pg

这是做本页上提到的所有其他事情。

< p > postgresql 9.5.8 < br > Ubuntu 16.10 < / p >

在Ubuntu中,这适用于我,我希望能帮助到你:

sudo apt-get install libpq-dev

而且

gem install pg  --   --with-pg-lib=/usr/lib

apt-get install ruby-dev对我有用。

另一种选择是使用家酿,它在Linux和macOS上工作,只安装支持库:

brew install libpq

然后

brew link libpq --force

(--force选项是必需的,因为它与postgres公式冲突。)

sudo apt-get install postgresql-client libpq5 libpq-dev然后执行gem install pg