197

似乎许多其他人在安装 pg gem 时遇到了问题。为其他人提出的解决方案都不适合我。

我试图安装 pg gem 和 postgres.app。pg gem 不会安装。我得到的第一个错误是:

安装 pg (0.17.0) 时出错,Bundler 无法继续。gem install pg -v '0.17.0'在捆绑之前确保成功。

关于将我的 gem install 指向 pg 配置的安装建议失败并显示以下错误消息(此论坛上的许多其他人都遇到过):

Failed to build native extensions... Results logged to /Users/melanie/.rvm/gems/ruby-1.9.3-p448/gems/pg-0.17.0/ext/gem_make.out

我不知道如何查找或访问此日志文件以搜索更多线索。

当我尝试使用 sudo apt-get install 命令时,我还会收到一条错误消息(找不到命令)。在过去的 6 个小时里,我搜索了这个论坛,尝试了每条建议以使 pg 与我的 rails 项目一起工作。

我找不到有关如何更改路径的建议,或者特别是需要进行哪些更改。我which pg_config返回一个文件源。我已经将它与使用该配置安装 pg 的命令一起使用。它失败。

有很多人遇到过这个问题。许多答案建议自制。我不得不删除它,因为它引发了其他问题。

4

15 回答 15

471

对我来说同样的错误,直到我下载 OS X 10.9 (Mavericks) 才遇到它。唉,又是一个操作系统升级头疼的问题。

这是我修复它的方法(使用自制软件):

  • 安装另一个构建的 Xcode 工具(brew update在终端中输入会提示您更新 Xcode 构建工具)
  • brew update
  • brew install postgresql

之后gem install pg为我工作。

于 2013-10-27T16:43:35.973 回答
234

如果您使用的是 Ubuntu,请尝试安装以下 lib 文件

sudo apt-get install libpq-dev

接着

gem install pg

为我工作。

于 2013-10-16T14:08:52.053 回答
50

我正在使用 OS X Mavericks(版本 10.9)

当我运行上述命令时,我收到以下消息:如果 PostgreSQL 9 的构建失败并且您安装了 8.x 版。

所以我运行以下命令:

ARCHFLAGS="-arch x86_64" gem install pg

这对我有用,我希望这对某人有帮助:)

于 2014-05-27T18:09:47.710 回答
47

好的,我也遇到了这个问题(psql 是 v 9.3.0,ruby 是 v 2.1.2),对我有用的解决方案是首先设置捆绑配置设置:

bundle config build.pg -- --with-pg-config=/Applications/Postgres.app/Contents/Versions/9.3/bin/pg_config

这个答案终于帮我弄清楚了:https ://stackoverflow.com/a/9235107/3546680

于 2014-08-07T21:30:10.373 回答
23

我尝试了几个小时,但以下终于修复了它(我在 OS X 10.9.4 上):

  1. 安装 Xcode 命令行工具(Apple 开发者网站)
  2. brew卸载postgresql
  3. 冲泡安装postgresql
  4. ARCHFLAGS="-arch x86_64" gem install pg
于 2014-09-25T21:24:00.773 回答
8

简单的步骤

  1. brew install postgresql
  2. gem install pg -v 'your version'
于 2016-08-12T01:45:06.330 回答
6

同样,安装 Mavericks 后bundle update,在 pg gem 上抛出错误,该错误仅用于生产而不是本地。

我使用 Brew 管理我的软件包,并且已经安装了 postgresql,但我仍然收到“no pg_config”错误。

解决方法是brew uninstall postgresql,然后brew install postgresql。之后我立即能够成功运行bundle update

于 2014-04-21T17:45:23.453 回答
6

我相信“正确”的答案是首先通过将以下内容添加到~/.profile.zshrc或者~/.zprofile如果使用 ZSH)为 Postgres.app 正确配置 PATH:

export PATH=$PATH:/Applications/Postgres.app/Contents/Versions/latest/bin

然后在终端中打开一个新选项卡或窗口并pg使用以下命令安装 gem:

ARCHFLAGS="-arch x86_64" gem install pg

记录在这里:

于 2016-10-31T08:19:56.333 回答
6

在 /Applications 中安装了 Postgres 的 OSX 上,我只需运行以下命令(根据您的版本更改0.209.4 )

gem install pg -v '0.20' -- --with-pg-config=/Applications/Postgres.app/Contents/Versions/9.4/bin/pg_config

你应该有 :

使用以下命令构建本机扩展:'--with-pg-config=/Applications/Postgres.app/Contents/Versions/9.4/bin/pg_config' 这可能需要一段时间... 成功安装 pg-0.20。

于 2017-04-24T14:08:44.443 回答
3

我花了一天的时间来解决这个问题:

我发现 build.pg 的全局值被设置为:/opt/local/lib/postgresql91/bin/pg_config 而这不是 postgres 的安装位置。

我通过将 build.pg 的值替换为: bundle config build.pg --with-pg-config=/usr/local/Cellar/postgresql/9.4.4/bin/pg_config 这是我的 postgresql 安装位置来修复它。

于 2015-08-12T06:56:23.770 回答
3

运行brew update然后brew install postgresql为我工作,之后我能够运行pggem文件没问题。

于 2020-07-20T04:19:07.633 回答
2

尝试:

gem install pg -- --with-pg-config=`which pg_config`
于 2015-04-08T11:48:33.710 回答
1

解决了!我发现系统上缺少一些 PostgreSQL 库。只有两个步骤解决了它:

brew install postgresql

然后运行

gem install pg

于 2016-08-25T09:45:44.057 回答
1

对于那些没有兴趣使用的人brew

  1. 下载PostgreSQL应用程序。
  2. 按照 macOS 默认说明进行安装。
  3. 建议运行PostgreSQl
  4. 运行gem install pg -- --with-pg-config=/path/to/postgress/in/your/applications/folder/`
    • 例如,在我的机器上是 /Applications/Postgres.app/Contents/Versions/12/bin/pg_config
于 2020-02-03T12:34:57.010 回答
0

我有同样的问题,我解决了

gem update --system 3.0.6
于 2020-08-10T11:58:23.860 回答