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

Mr.*_*ack 14 pg ruby-on-rails-4

我最近尝试将我的轨道3.2*应用程序升级到rails 4.2.*.但是,我在安装'pg'宝石时被拦住了.当我用Google搜索时,解决方案主要与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.
Run Code Online (Sandbox Code Playgroud)

Har*_*iya 31

您需要使用PostgreSQL的头安装postgreSQL dev包

sudo apt-get install libpq-dev
Run Code Online (Sandbox Code Playgroud)

你也可以试试

sudo apt-get install postgresql-client
sudo apt-get install postgresql postgresql-contrib
Run Code Online (Sandbox Code Playgroud)


Rya*_*auh 11

尝试gem install pg -v 0.18.1使用ubuntu 14.04上的postgresql 9.4 来解决这个问题

sudo apt-get install libpq-dev build-essential postgresql-server-dev-9.4
Run Code Online (Sandbox Code Playgroud)

基本上我失踪了 postgresql-server-dev-${version}

在你的情况下尝试

sudo apt-get install libpq-dev build-essential postgresql-server-dev-9.3
Run Code Online (Sandbox Code Playgroud)

  • 谢谢!顺便说一句,sudo apt-get install libpq-dev对我来说足够了. (3认同)
  • 虽然只是尝试使用“ apt-get install libpq-dev gcc make”而不是完整的“ build-essential”,但效果很好 (2认同)