如何在Ubuntu上安装PostgreSQL的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
我不知道是什么错误…
您需要安装PostgreSQL开发包的PostgreSQL开发包
sudo apt-get install libpq-dev
在阅读和颠簸了2天之后,尝试了很多在其他笔记中find的东西,下面这行代码就是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...
{是啊 – 终于成功}! !请注意,运行pg_config的输出在我的Ubuntu / Postresql安装中缺lessLIBSvariables中的项-lpq!
以及为什么在某些地方从pq切换到pg – 混淆新手?
我仍然不明白的是双重和–with(可选,但是我远远超出了我的深度
我在Ubuntu 12.10上运行这个命令:
apt-get install libpq-dev
帮我 – 之后,运行gem install pg -v“0.14.1”,现在一切正常
需要添加包
sudo apt-get install libpq-dev
在RoR中安装pg gem
安装libpq-dev不适合我。 我也需要安装build-essential
sudo apt-get install libpq-dev build-essential
简单的解决scheme,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
然后运行“捆绑安装”。 一切都会好起来的。 祝你有美好的一天!
.RVM用户会更好:
rvmsudo gem install pg -- --with-pg-lib=/usr/lib
它为我工作(后我看到jdupont版本)
如果安装了libpq-dev并且仍然存在这个问题,可能是因为OpenSSL的libssl和朋友的版本冲突 – / usr / lib中的Ubuntu系统版本(libpq是针对此版本的),而第二个版本的RVM安装在$ HOME / .rvm / usr / lib(或者如果是系统安装,则是/ usr / local / rvm / usr / lib)。 您可以通过临时重命名$ HOME / .rvm / usr / lib并查看“gem install pg”是否有效来validation。
要解决这个问题,请使用系统OpenSSL库进行rvm重build(您可能需要从rvm / usr / lib目录手动删除libssl。*和libcrypto。*):
rvm reinstall 1.9.3 --with-openssl-dir=/usr
这终于解决了我在Ubunto 12.04上的问题。
这个解决了我在Ubuntu 12.04上遇到的每个build议都失败后的问题。
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。
我试图在我刚刚安装的Ubuntu 16.04中安装Rails项目。 运行bundle时遇到同样的问题。 运行
sudo apt-get install aptitude
其次是
sudo apt-get install libpq-dev
为我解决了。
我有同样的问题,并尝试了很多不同的变种。 经过一番尝试,我成为sudo gem install
,但仍然有问题安装它没有sudo。
最后我发现一个决定 – 重新安装rvm帮助了我。 也许它可以节省别人的时间。
对于那些试图安装Redmine的人,在尝试上述所有内容之后,我错过了sudo apt-get install ruby-all-dev
。
初始错误是mkmf.rb can't find header files for ruby at /usr/lib/ruby/include/ruby.h
。
解决这个问题的另一个办法是用Homebrew / linuxbrew安装PostgreSQL:
brew install postgresql
作为一个习惯的问题,我不喜欢使用sudo,除非我必须。
对于在本页面尝试所有答案后仍然有问题的人,以下(最后)工作:
sudo apt-get install libgmp3-dev gem install pg
这是在做这个页面上提到的所有其他事情之后 。
postgresql 9.5.8
Ubuntu 16.10