bundle失败 - 找不到PostgreSQL客户端库(libpq)

hal*_*ium 32 ruby postgresql bundle

我想我已经尝试了所有关于这个问题的建议.仍然不适合我.

当我尝试捆绑...

$ bundle
...

Gem::Installer::ExtensionBuildError: ERROR: Failed to build gem native extension.

    /System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/bin/ruby extconf.rb
checking for pg_config... yes
Using config values from /usr/local/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
    --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}/
    --with-pqlib
    --without-pqlib
    --with-libpqlib
    --without-libpqlib
    --with-ms/libpqlib
    --without-ms/libpqlib


Gem files will remain installed in
...
An error occurred while installing pg (0.17.1), and Bundler cannot
continue.
Make sure that `gem install pg -v '0.17.1'` succeeds before
bundling.
Run Code Online (Sandbox Code Playgroud)

以前代码的输出......

$ which bundle
/Users/Loren/.rvm/gems/ruby-2.1.1@global/bin/bundle

$ which gem
/Users/Loren/.rvm/rubies/ruby-2.1.1/bin/gem

$ which psql
/usr/local/bin/psql
Run Code Online (Sandbox Code Playgroud)

我试图使用Homebrew卸载postgresql并重新安装,但没有帮助.

我试过了...

ARCHFLAGS="-arch x86_64" gem install pg
Run Code Online (Sandbox Code Playgroud)

并且成功完成但是当我运行时bundle我仍然得到相同的错误.

我试过了 ...

gem install pg -- --with-pg-config=/Applications/Postgres93.app/Contents/MacOS/bin/pg_config
Run Code Online (Sandbox Code Playgroud)

那不起作用.

我试过了 ...

gem install pg -v '0.17.1' -- --with-pg-config=/usr/local/Cellar/postgresql/9.3.2/bin/pg_config
Run Code Online (Sandbox Code Playgroud)

那也不起作用.

我不知道还有什么可以尝试.谢谢你的帮助.

Jos*_*ean 100

我的解决方案就此结束了

ARCHFLAGS="-arch x86_64" bundle install
Run Code Online (Sandbox Code Playgroud)

  • 哇,这是唯一对我有用的解决方案.谢谢! (2认同)
  • 我的英雄!这是唯一对我有用的东西.10.9.5 (2认同)

fru*_*uqi 43

根据这篇文章的答案,它对我有用(Yosemite OSX 10.10),你可以尝试以下方法:

$ sudo su

$ env ARCHFLAGS="-arch x86_64" gem install pg
Run Code Online (Sandbox Code Playgroud)

您不必从自制程序重新安装pg.


小智 12

sudo ARCHFLAGS="-arch x86_64" gem install pg
为我提供帮助...感谢Jakob @ github给出的一个提示

我的系统:OSX 10.9.4,Ruby 2.0.0,本地(非自制)Postgresql 9.3.5

Building native extensions.  This could take a while...
Successfully installed pg-0.17.1
invalid options: -f fivefish
(invalid options are ignored)
Parsing documentation for pg-0.17.1
unable to convert "\xCF" from ASCII-8BIT to UTF-8 for lib/pg_ext.bundle, skipping
Installing ri documentation for pg-0.17.1
1 gem installed
Run Code Online (Sandbox Code Playgroud)


hal*_*ium 3

我使用 home-brew 卸载了 postgresql (我之前用它来安装 postgresql )

我安装了 Postgres.app,这更新了我的 PATH

然后我不得不停止当前正在运行的 postgresql 数据库

然后我能够启动 Postgres.app,它在端口 5432 上启动

然后我不得不重新启动我的终端

然后我就可以运行bundle并且它起作用了。