Rails:在OS X上安装PG gem -无法构建本机扩展

似乎还有很多人在安装pg gem时遇到了问题。为别人提出的解决方案没有一个对我有效。

我已经尝试安装pg gem和postgres.app。pg gem将无法安装。得到的第一个错误是:

安装pg(0.17.0)时发生错误,bundle无法继续。 在捆绑之前确保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。它失败。

有很多人在这方面遇到了麻烦。很多答案都建议自制啤酒。我不得不删除它,因为它引发了其他问题。

118623 次浏览

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

sudo apt-get install libpq-dev

然后

gem install pg

为我工作。

我也犯了同样的错误,直到我下载了OS X 10.9 (Mavericks)才经历过。唉,又一个操作系统升级的头痛。

以下是我的解决方法(使用自制软件):

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

在那之后,gem install pg为我工作。

类似地,在安装Mavericks之后,bundle update在pg gem上抛出一个错误,该gem仅在生产中使用,而不是在本地使用。

我使用Brew来管理我的包,postgresql已经安装,但我仍然得到'no pg_config'错误。

修复只是brew uninstall postgresql,然后是brew install postgresql。之后,我立即能够成功地运行bundle update

我使用的是OS X Mavericks(10.9版本)

当我运行上面的程序时,我得到了以下消息:如果PostgreSQL 9的构建失败,而你有版本8。x安装。

所以我执行了以下命令:

ARCHFLAGS="-arch x86_64" gem install pg

这对我有用,我希望这能帮助到别人:)

好吧,我也有这个问题(psql是v 9.3.0和ruby是v 2.1.2),对我有效的解决方案是先设置bundle配置设置:

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

这个答案最终帮助我找到了答案:https://stackoverflow.com/a/9235107/3546680

我尝试了几个小时,但以下最终解决了它(我在OS X 10.9.4):

  1. 安装Xcode命令行工具(苹果开发者网站)
  2. 酿造卸载postgresql
  3. 编译安装postgresql
  4. ARCHFLAGS="-arch x86_64" gem install

试一试:

gem install pg -- --with-pg-config=`which pg_config`

我花了一天的时间来解决这个问题,以下是我是如何解决的:

我找到了build的全局值。pg被设置为:/opt/local/lib/postgresql91/bin/pg_config 这并不是postgres安装的地方。< / p >

我用替换build的值修复了它。pg: bundle config build.pg --with-pg-config=/usr/local/Cellar/postgresql/9.4.4/bin/pg_config 这是我的postgresql安装在哪里

简单的步骤

  1. brew install postgresql
  2. gem install pg -v 'your version'
< p >解决! 我发现系统上缺少PostgreSQL的库。 只有两步就解决了:

brew install postgresql

然后运行

gem install pg

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

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

然后在终端中打开一个新选项卡或窗口并安装pg gem:

ARCHFLAGS="-arch x86_64" gem install pg

记录:

在OSX上,Postgres安装在/Applications中,我简单地运行以下命令(change 0.20 &9.4根据你的版本)

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

你应该:

构建本机扩展: ”——with-pg-config = /应用程序/ Postgres.app /内容/版本/ 9.4 / bin / pg_config ' 这可能需要一段时间……成功安装pg-0.20.

对于那些不感兴趣使用brew的人。

  1. 下载PostgreSQL应用程序。
  2. 按照macOS默认指示安装。
  3. 建议运行PostgreSQl
  4. <李>运行gem install pg -- --with-pg-config= /道路/ / postgres / / /应用程序/文件夹/的
    • 例如,在我的机器中是 李/Applications/Postgres.app/Contents/Versions/12/bin/pg_config < / > 李< / ul > < / >

运行brew update,然后brew install postgresql为我工作,我能够运行pg gem文件之后没有任何问题。

我遇到了同样的问题,我解决了

gem update --system 3.0.6