gem install pg 在 Mac El Capitan 上不起作用

Posted

技术标签:

【中文标题】gem install pg 在 Mac El Capitan 上不起作用【英文标题】:gem install pg not working on Mac El Capitan 【发布时间】:2016-01-25 01:20:57 【问题描述】:

我尝试在 Mac El Capitan 上安装 pg Gem,但总是收到此错误:

Gem::Installer::ExtensionBuildError: 错误: 无法构建 gem 原生扩展。 /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 --没有-make-prog --srcdir=。 --curdir --ruby=/System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/bin/ruby --with-pg --没有-pg --启用-windows-cross --禁用-windows-cross --with-pg-config --with-pg-dir --没有-pg-dir --with-pg-include --without-pg-include=$pg-dir/include --with-pg-lib --without-pg-lib=$pg-dir/ --with-pqlib --没有-pqlib --with-libpqlib --没有-libpqlib --with-ms/libpqlib --没有-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 个宝石

但我运行bundle install 并得到与本文开头相同的错误。

我尝试从 brew 重新安装 PostgresSQL。

【问题讨论】:

【参考方案1】:

试试这个:

酿造更新 brew 安装 postgresql sudo gem install pg -v 'VERSION'

【讨论】:

我和原帖有同样的问题。我试过这个,但它没有解决问题。我也尝试了我能找到的一切。和OP一样,我尝试过从自制软件更新和重新安装。没有喜悦。这个问题使我的项目完全、无限期地停止。 重新安装电脑后,我又遇到了同样的问题。这在 10.11.2 上对我有用:sudo suenv ARCHFLAGS="-arch x86_64" gem install pg -v '0.18.1' 它适用于 Mac OS X 10.11.6 和 Bundler 版本 1.12.5【参考方案2】:

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

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

【讨论】:

【参考方案3】:

对于一个基本的 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' end group :production do gem 'pg' gem 'rails_12factor' end 没有成功... 如果您正在尝试开发 12 要素应用程序,则不建议这样做,因为它会使开发和生产环境不同。 12factor.net/dev-prod-parity @NateSHolland 是对的,你永远不应该为 prod 和 dev 使用不同的数据库引擎,这是个坏主意。

以上是关于gem install pg 在 Mac El Capitan 上不起作用的主要内容,如果未能解决你的问题,请参考以下文章

运行 gem install pg -v '0.15.1' 时出错

gem install pg 在 OSX Lion 上不起作用

使用 Mac Postgres 应用程序很难捆绑 pg

无法使用 Mavericks 在我的 Mac 上安装 PG gem

mac 上的 gem install rails 失败错误:无法构建 gem 本机扩展

ruby nokogiri gem install mac osx high sierra