我想我已经尝试了有关此问题的所有建议。仍然不适合我。
当我尝试捆绑...
$ 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.
以前代码的输出......
$ 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
我尝试使用Homebrew卸载postgresql并重新安装,但没有帮助。
我试过......
ARCHFLAGS="-arch x86_64" gem install pg
并且成功完成,但是当我运行bundle
时,我仍然遇到同样的错误。
我试过......
gem install pg -- --with-pg-config=/Applications/Postgres93.app/Contents/MacOS/bin/pg_config
这不起作用。
我试过......
gem install pg -v '0.17.1' -- --with-pg-config=/usr/local/Cellar/postgresql/9.3.2/bin/pg_config
这也不起作用。
我不确定此时还有什么可以尝试的。 谢谢你的帮助。
答案 0 :(得分:99)
我的解决方案最终在此
ARCHFLAGS="-arch x86_64" bundle install
答案 1 :(得分:43)
基于此post's answer并且它对我有用(Yosemite OSX 10.10),您可以尝试以下方法:
$ sudo su
$ env ARCHFLAGS="-arch x86_64" gem install pg
您不必从自制程序重新安装pg。
答案 2 :(得分: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
答案 3 :(得分:2)
我使用home-brew卸载了postgresql(之前我用它来安装postgresql)
我安装了Postgres.app并更新了我的PATH
然后我必须停止当前运行的postgresql db
然后我能够启动Postgres.app,它从端口5432开始
然后我不得不重启我的终端
然后我能够运行bundle并且它有效。
答案 4 :(得分:1)
为了便于管理和升级等,我使用了我的Mac上的{PostgreSQL Application以及以下的gem安装(与上面的相同)。
gem install pg -- --with-pg-config=/Applications/Postgres__version__.app/Contents/MacOS/bin/pg_config
我对此方法没有任何问题(相对于自定义安装或通过Homebrew,我遇到了一些问题)。
答案 5 :(得分:1)
请确保您的系统上安装了“libpq-dev”软件包
所以尝试安装libpq-dev:
for Ubuntu systems: sudo apt-get install libpq-dev
on RHEL systems: yum install postgresql-devel
for Mac: brew install postgresql
然后安装pg gem
$ gem install pg -v '0.17.1'
$ bundle
答案 6 :(得分:1)
在我的特定实例中,我试图在我的第一个heroku应用程序上运行bundle install
。我做了所有@boobooninja列出的项目(当然路径略有不同)。最终为我工作的是两个答案的组合。我需要
$ sudo su
$ env ARCHFLAGS="-arch x86_64" gem install pg -v '0.17.1'
通过添加-v 0.17.1
并指定heroku所需的版本,我可以完成我的捆绑并继续。
答案 7 :(得分:0)
如果您仍然希望能够将gem 'pg'
添加到您的gemfile并使用bundle install
,并且您知道安装了PostgreSQL和libpq-dev(我相信这两者都应该是自OS X附带的PostgreSQL)您只需告诉$PATH
在哪里找到pg_config
。试试这个:
$ ln -s /Library/PostgreSQL/9.1/bin/pg_config /usr/local/bin/pg_config
确保将9.1
替换为您安装的任何PostgreSQL版本。并确保您在$PATH
创建链接的任何位置。完成后,运行bundle install
以安装pg
gem。
答案 8 :(得分:0)
对我来说,诀窍是重新链接Postgres 9.3.0
brew link postgresql