在Mac El Capitan上安装pg gem失败

8
我尝试在Mac El Capitan上安装pg Gem,但总是出现以下错误:
Gem::Installer::ExtensionBuildError: ERROR: Failed to build gem native extension.
/System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/bin/ruby extconf.rb --with-pg-config=/Users/ricardolopes/Developer/homebrew/bin/pg_config 使用来自/Users/ricardolopes/Developer/homebrew/bin/pg_config的配置值 检查libpq-fe.h... 是的 检查libpq/libpq-fs.h... 是的 检查pg_config_manual.h... 是的 检查-lpq中的PQconnectdb()...否 检查-llibpq中的PQconnectdb()...否 检查-lms/libpq中的PQconnectdb()...否 找不到PostgreSQL客户端库(libpq) ***extconf.rb失败*** 由于某些原因(可能缺少必要的库和/或头文件),无法创建Makefile。 有关更多详细信息,请检查mkmf.log文件。您可能需要配置选项。
提供的配置选项: --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 --enable-windows-cross --disable-windows-cross --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文件将保留在/Users/ricardolopes/Code/site-noticias/vendor/bundle/ruby/2.0.0/gems/pg-0.18.3中进行检查。 日志记录在/Users/ricardolopes/Code/site-noticias/vendor/bundle/ruby/2.0.0/gems/pg-0.18.3/ext/gem_make.out 安装pg(0.18.3)时出错,Bundler无法继续执行。 确保 gem install pg -v '0.18.3' 成功后再进行捆绑。
我还尝试了:
ARCHFLAGS="-arch x86_64" gem install pg

当我尝试时,我得到了以下内容:
    正在构建本地扩展。这可能需要一段时间……
    成功安装pg-0.18.3
    无效选项:-f fivefish
    (无效选项将被忽略)
    解析pg-0.18.3的文档
    在3秒后完成安装pg的文档
    已安装1个gem
但是当我运行bundle install时,我得到了与此帖子开头发布的相同的错误。
我尝试重新从brew安装PostgresSQL。
3个回答

5

请尝试以下操作:

  • 运行brew update
  • 安装postgresql,命令为brew install postgresql
  • 使用sudo gem install pg -v 'VERSION'命令安装pg插件

我和原帖作者有相同的问题。我尝试了这个方法,但没有解决问题。我也尝试了我能找到的所有方法。像原帖作者一样,我也尝试了从Homebrew更新和重新安装。但是没有用。这个问题导致我的项目完全停滞,时间不确定。 - Dave Munger
1
重新安装电脑后,我又遇到了同样的问题。这个方法在10.11.2上对我有效: sudo suenv ARCHFLAGS="-arch x86_64" gem install pg -v '0.18.1' - David Leandro
它可以在Mac OS X 10.11.6上运行,使用Bundler版本1.12.5。 - XY Li

2
这对我有用:
sudo gem install pg -- --with-pg-config=/Applications/Postgres.app/Contents/Versions/9.4/bin/pg_config

记得将9.4更改为您的postgres版本,如果与9.4不同。

-1

对于一个基本的Rails应用程序,您可能已经安装了SQLite,但在您的Gemfile中,它可能只有:

gem 'sqlite3'

你只需要在生产环境中使用PostgreSQL吗?请确保您的Gemfile如下所示:

group :production do gem 'pg' end

同时,请确保您的Gemfile仅在开发环境中使用SQLite:

group :development do gem 'sqlite3' end

然后尝试运行bundle install


你可能是对的,但即使我将sqlite3添加到我的开发组中,Rails仍然坚持安装pg gem... # Use sqlite3 as the database for Active Record gem 'sqlite3', group: :development 并且还做了这个:`group :development do

Access an IRB console on exception pages or by using <%= console %> in views

gem 'web-console', '~> 2.0' gem 'sqlite3'

Spring speeds up development by keeping your application running in the background. Read more: https://github.com/rails/spring

gem 'spring' endgroup :production do gem 'pg' gem 'rails_12factor' end` 但没有成功...
- Ricardo Silva
2
您IP地址为143.198.54.68,由于运营成本限制,当前对于免费用户的使用频率限制为每个IP每72小时10次对话,如需解除限制,请点击左下角设置图标按钮(手机用户先点击左上角菜单按钮)。 - NateSHolland
@NateSHolland 是正确的,你不应该在生产环境和开发环境中使用不同的数据库引擎,这是一个坏主意。 - svelandiag

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接