rails 4.2.0:无法在 ubuntu 14.04 上安装 pg gem

Posted

技术标签:

【中文标题】rails 4.2.0:无法在 ubuntu 14.04 上安装 pg gem【英文标题】:rails 4.2.0: can't install pg gem on ubuntu 14.04 【发布时间】:2015-04-06 11:57:05 【问题描述】:

我最近尝试将我的 rail 3.2* 应用程序升级到 rails 4.2.*。但是,我在安装 'pg' gem 时被阻止了。当我用谷歌搜索时,主要与 OSX 相关的解决方案。但我使用的是 ubuntu 14.04。需要任何关于以下问题的建议。

我已经在我的机器上安装了postgresql 9.3.5 版本。

Gem::Ext::BuildError: ERROR: Failed to build gem native extension.

    /usr/local/rvm/rubies/ruby-2.1.2/bin/ruby extconf.rb 
checking for pg_config... yes
Using config values from /usr/bin/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=/usr/local/rvm/rubies/ruby-2.1.2/bin/ruby
    --with-pg
    --without-pg
    --enable-windows-cross
    --disable-windows-cross
    --with-pg-config
    --without-pg-config
    --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

extconf failed, exit code 1

Gem files will remain installed in /usr/local/rvm/gems/ruby-2.1.2@r4/gems/pg-0.18.1 for inspection.
Results logged to /usr/local/rvm/gems/ruby-2.1.2@r4/extensions/x86_64-linux/2.1.0/pg-0.18.1/gem_make.out
An error occurred while installing pg (0.18.1), and Bundler cannot continue.
Make sure that `gem install pg -v '0.18.1'` succeeds before bundling.

【问题讨论】:

@mr-black 请检查我的答案并接受它作为正确答案 【参考方案1】:

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

​​>
sudo apt-get install libpq-dev

你也可以试试

sudo apt-get install postgresql-client
sudo apt-get install postgresql postgresql-contrib

【讨论】:

我已经安装了那些依赖包。但是,我又失败了。 你看了吗***.com/questions/3116015/… sudo apt-get install postgresql postgresql-contrib ,这可能对你有用 是的,我已经在 SF 中查看了给定的链接和其他链接。但无论如何,这对我没有帮助。 第一个示例在我们的一台 Ubuntu 14.04 服务器上对我非常有用,谢谢。【参考方案2】:

在 ubuntu 14.04 上尝试使用 postgresql 9.4 gem install pg -v 0.18.1 时遇到了这个确切的问题

sudo apt-get install libpq-dev build-essential postgresql-server-dev-9.4

基本上我错过了postgresql-server-dev-$version

在你的情况下尝试

sudo apt-get install libpq-dev build-essential postgresql-server-dev-9.3

【讨论】:

谢谢!顺便说一句,sudo apt-get install libpq-dev 对我来说已经足够了。 我已经为此苦苦挣扎了好几天了,直到安装了 build-essential 软件包(对于 gem pg 0.21)没有任何帮助。我在其他任何地方都没有看到,所以谢谢!跨度> 虽然只是尝试使用 apt-get install libpq-dev gcc make 而不是完整的 build-essential 并且效果很好【参考方案3】:

在 ubuntu 16.04 上执行此命令

sudo apt install libpq-dev postgresql-server
sudo -u postgres createuser -s $(whoami); createdb $(whoami)
gem install pg

【讨论】:

以上是关于rails 4.2.0:无法在 ubuntu 14.04 上安装 pg gem的主要内容,如果未能解决你的问题,请参考以下文章

Ubuntu 14.04.2 Laravel 4.2.0 PDOException 找不到驱动程序 MySQL

未在 ubuntu 14.04 上安装用于 rails 的 mysql gem

Ubuntu 14.04 中的 production.log 在哪里 - Rails 4

Rails:Spring 权限错误 Ubuntu 14.04

ubuntu 14.04中安装 ruby on rails 环境

sh ubuntu 14.04,乘客,apache,rails