pg gem安装失败

时间:2017-04-25 13:56:01

标签: ruby-on-rails ruby postgresql

Centos 6.9 (类似于问题:Can't find the PostgreSQL client library (libpq)但是那个是MacOS而不是Centos,所以这些解决方案不起作用

ruby​​ 2.1.8(试过2.2)

rails 4.2.6(试过5.0)

postgres 9.3

我正在尝试使用:

安装pg gem
gem install pg -- --with-pqlib=/usr/lib64/libpqxx-4.0.so --with-pg-config=/usr/pgsql-9.3/bin/pg_config

我一直在努力为它提供不同的库,但它正在坚持的是一些PQconnectdb()函数。错误

Rails曾经用pg安装在这台计算机上,但更新后发生了一些事情..这里有什么想法吗?

ERROR:  Error installing pg:
ERROR: Failed to build gem native extension.

current directory: /home/myusername/.rvm/gems/ruby-2.1.8/gems/pg-0.14.1/ext
/home/myusername/.rvm/rubies/ruby-2.1.8/bin/ruby -r ./siteconf20170425-12873-191077o.rb extconf.rb --with-pqlib=/usr/lib64/libpqxx-4.0.so --with-pg-config=/usr/pgsql-9.3/bin/pg_config
Using config values from /usr/pgsql-9.3/bin/pg_config
extconf.rb:34: warning: Insecure world writable dir /opt/anaconda in PATH, mode 040777
checking for libpq-fe.h... yes
checking for libpq/libpq-fs.h... yes
checking for pg_config_manual.h... yes
checking for PQconnectdb() in -l/usr/lib64/libpqxx-4.0.so... 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.

已安装的pg库:Installed Packages postgresql93.x86_64 9.3.16-1PGDG.rhel6
postgresql93-contrib.x86_64 9.3.16-1PGDG.rhel6
postgresql93-debuginfo.x86_64 9.3.16-1PGDG.rhel6
postgresql93-devel.x86_64 9.3.16-1PGDG.rhel6
postgresql93-docs.x86_64 9.3.16-1PGDG.rhel6
postgresql93-libs.x86_64 9.3.16-1PGDG.rhel6
postgresql93-odbc.x86_64 09.06.0100-1PGDG.rhel6
postgresql93-odbc-debuginfo.x86_64 09.03.0400-1PGDG.rhel6
postgresql93-plperl.x86_64 9.3.16-1PGDG.rhel6
postgresql93-plpython.x86_64 9.3.16-1PGDG.rhel6
postgresql93-pltcl.x86_64 9.3.16-1PGDG.rhel6
postgresql93-server.x86_64 9.3.16-1PGDG.rhel6
postgresql93-tcl.x86_64 2.1.1-1.rhel6
postgresql93-tcl-debuginfo.x86_64 2.1.1-1.rhel6
postgresql93-test.x86_64 9.3.16-1PGDG.rhel6

2 个答案:

答案 0 :(得分:1)

你试过这个吗?

$ sudo su
$ env ARCHFLAGS="-arch x86_64" gem install pg

答案 1 :(得分:1)

我有一个linux brew包管理器,它有一些与pg gem install混淆的旧依赖项。

答案是:

  • 删除[linux brew] [1]

    [1]:http://linuxbrew.sh/

  • 使用RVM卸载Ruby
  • Implode RVM
  • 重新安装RVM
  • 重新安装ruby
  • 使用pg配置选项安装pg gem:

gem install pg -- --with-pg-config=/usr/pgsql-9.3/bin/pg_config