pg gem不会安装。使用Postgress.app

时间:2015-01-01 22:53:28

标签: ruby-on-rails ruby postgresql pg

我目前正在使用postgress.app并尝试为rails项目安装pg gem。但问题是我不断得到以下内容:

$ gem install pg -v '0.17.1' -- --with-pg-config=/Applications/Postgres.app/Contents/Versions/9.3/bin/pg_config
Building native extensions with: '--with-pg-config=/Applications/Postgres.app/Contents/Versions/9.3/bin/pg_config'
This could take a while...
ERROR:  Error installing pg:
    ERROR: Failed to build gem native extension.

    /System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/bin/ruby extconf.rb --with-pg-config=/Applications/Postgres.app/Contents/Versions/9.3/bin/pg_config
Using config values from /Applications/Postgres.app/Contents/Versions/9.3/bin/pg_config
checking for libpq-fe.h... yes
checking for libpq/libpq-fs.h... yes
checking for pg_config_manual.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=/System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/bin/ruby
    --with-pg
    --without-pg
    --with-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}/
    --with-pqlib
    --without-pqlib
    --with-libpqlib
    --without-libpqlib
    --with-ms/libpqlib
    --without-ms/libpqlib


Gem files will remain installed in /Users/Adam/.rvm/gems/ruby-2.1.5/gems/pg-0.17.1 for inspection.
Results logged to /Users/Adam/.rvm/gems/ruby-2.1.5/gems/pg-0.17.1/ext/gem_make.out

那么我想在使用pg时让Postgress.app gem真正安装?

更新

  1. Ruby版本:2.2.0
  2. Rails版本:4.1.5
  3. MacOSX:10.10
  4. Postgress:Postrgess 9.3 app
  5. Pg gem版本:0.17.1

2 个答案:

答案 0 :(得分:0)

这个命令为我做了诀窍:

env ARCHFLAGS="-arch x86_64" gem install pg -- --with-pg-config=/Applications/Postgres.app/Contents/MacOS/bin/pg_config

答案 1 :(得分:0)

看看" Failing installing pg gem, "mkmf.rb can't find header files for ruby" (Mac OSX 10.6.5)"。

通常安装PostgreSQL和pg gem时的问题是,gem无法找到PostgreSQL的pg_config工具,它可以告诉gem它需要的东西在磁盘上。有时问题是无法找到所需的标题。所以,你需要找到一个或另一个。

手动找到,然后告诉gem,并且应该启动并运行。

安装完成后,按照链接的答案中的说明创建一个小shell脚本,以后的安装将会更容易。