Bundler尝试并且无法安装已成功安装的pg gem

时间:2013-05-31 12:29:01

标签: ruby-on-rails macos bundler pg

我已经安装了pg gem:

$ gem install pg
Building native extensions.  This could take a while...
Successfully installed pg-0.15.1
1 gem installed

$ gem list | grep pg
pg (0.15.1, 0.14.1)

但是每当我尝试在我的rails应用程序上运行'bundle install'时,它会再次尝试安装pg,然后失败:

Installing pg (0.15.1) with native extensions
Gem::Installer::ExtensionBuildError: ERROR: Failed to build gem native extension
checking for pg_config... yes
Using config values from /usr/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)
...

我怎样才能让Bundler简单地使用我已经安装的pg版本?我的Gemfile.lock有:

pg (0.15.1)

哪个匹配我可以在gem列表中看到的版本。我不确定这里有什么问题。

3 个答案:

答案 0 :(得分:3)

所以我安装了postgresQL安装程序:

http://www.enterprisedb.com/products-services-training/pgdownload#osx

然后我做了:

bundle config build.pg --with-pg-config=/Library/PostgreSQL/9.2/bin/pg_config

然后它起作用了:)

答案 1 :(得分:0)

使用此命令“bundle install --without production”。

它对我有用。在我的情况下,我克隆了rails app的git存储库,并尝试了bundle更新,但是失败并得到了相同的消息。

该命令阻止本地安装生产宝石,例如pg和rails_12factor gems。

答案 2 :(得分:0)

命令"捆绑安装 - 没有生产"为我工作。