【问题标题】:tried installing pg gem and it failed尝试安装 pg gem,但失败了
【发布时间】:2014-09-21 08:45:44
【问题描述】:
$ gem install pg
Building native extensions.  This could take a while...
ERROR:  Error installing pg:
ERROR: Failed to build gem native extension.

/Users/jtorkornoo/.rbenv/versions/2.1.2/bin/ruby extconf.rb`


         checking for pg_config... no
No pg_config... trying anyway. If building fails, please try again with``
    --with-pg-config=/path/to/pg_config 
      checking for libpq-fe.h... no
Can't find the 'libpq-fe.h header
*** 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=/Users/jtorkornoo/.rbenv/versions/2.1.2/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}/lib

extconf failed, exit code 1

Gem files will remain installed in /Users/jtorkornoo/.rbenv/versions/2.1.2/lib/ruby/gems/2.1.0/gems/pg-0.17.1 for inspection.
Results logged to /Users/jtorkornoo/.rbenv/versions/2.1.2/lib/ruby/gems/2.1.0/extensions/x86_64-darwin-14/2.1.0-static/pg-0.17.1/gem_make.out
宝石文件 来源“https://rubygems.org” 宝石'导轨','3.2.19' # 捆绑边缘 Rails: # gem 'rails', :git => 'git://github.com/rails/rails.git' 组:开发,:测试做 宝石'pg' 结尾 # 宝石仅用于资产,不是必需的 # 默认在生产环境中。 组:资产做 gem 'sass-rails', '~> 3.2.3' 宝石'咖啡轨','〜> 3.2.1' # 有关更多支持的运行时,请参阅 https://github.com/sstephenson/execjs#readme # gem 'therubyracer', :platforms => :ruby gem 'uglifier', '>= 1.0.3' 结尾 宝石'jquery-rails' # 使用 ActiveModel has_secure_password # gem 'bcrypt-ruby', '~> 3.0.0' # 为 JSON 使用 Jbuilder 模板 # 宝石'jbuilder' # 使用独角兽作为应用服务器 # gem '独角兽' # 使用 Capistrano 部署 # gem 'capistrano' # 使用调试器 # gem '调试器'

【问题讨论】:

  • 你安装了pg吗?
  • 发生此错误时,我尝试安装 pg gem。我的意图是从 git 推送到 heroku @Nishu
  • 你不应该需要 pg gem 来推送到 heroku。你能提供你的Gemfile吗?
  • @PeteyT 我添加了 gem 文件
  • 你应该使用postgresapp.com,在heroku上是一个很好的方法devcenter.heroku.com/articles/…

标签: ruby ruby-on-rails-3


【解决方案1】:

正在检查 pg_config...否

是你的钥匙。

Ruby 和 gem 无法找到 PostgreSQL 的 pg_config 文件所在的位置。您必须告诉他们,他们才能弄清楚 PostgreSQL 将其数据库和支持文件存储在何处。

您可以通过在运行 gem install pg 之前将 PostgreSQL 的 bin 目录添加到您的路径中来做到这一点。您使用的是 Mac OS,因此请尝试从命令行运行 locate pg_config。您应该会看到如下内容:

/Library/PostgreSQL/9.2/bin/pg_config

作为返回的条目之一。如果你不这样做,那么你没有安装 PostgreSQL,或者你没有运行 Spotlight 或定位服务来填充用于定位文件的数据库。

我有一个脚本保存在我的 ~/bin 目录中,我称之为“install_pg.sh”:

#!/bin/sh -x

PATH=/Library/PostgreSQL/9.2/bin:$PATH
gem install pg

这应该可以帮助您解决问题。

【讨论】:

  • 我尝试运行命令 sudo launchctl load -w /System/Library/LaunchDaemons/com.apple.locale.plist 如上所述为 PostgreSQL 生成目录,但仍然给我操作反馈正在进行中,这很奇怪,我需要更多说明如何使用 PATH=.... 因为我真的不知道在哪里输入,因为我尝试了 nano .bash_profile 但它从来没有工作过@theTinMan
  • 你不需要这样做。找到您的 pg_config。不要修改您的 .bash_profile。不要随意更改事物,而是要花时间了解自己在做什么,否则会以无法轻松修复的方式破坏系统。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2014-09-14
  • 1970-01-01
  • 1970-01-01
  • 2017-08-02
  • 1970-01-01
  • 2015-05-03
  • 2011-08-27
相关资源
最近更新 更多