1
votes
$ 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

gem file
source 'https://rubygems.org'

gem 'rails', '3.2.19'

# Bundle edge Rails instead:
# gem 'rails', :git => 'git://github.com/rails/rails.git'
group :development, :test do
  gem 'pg'
end






# Gems used only for assets and not required
# in production environments by default.
group :assets do
  gem 'sass-rails',   '~> 3.2.3'
  gem 'coffee-rails', '~> 3.2.1'

  # See https://github.com/sstephenson/execjs#readme for more supported runtimes
  # gem 'therubyracer', :platforms => :ruby

  gem 'uglifier', '>= 1.0.3'
end

gem 'jquery-rails'

# To use ActiveModel has_secure_password
# gem 'bcrypt-ruby', '~> 3.0.0'

# To use Jbuilder templates for JSON
# gem 'jbuilder'

# Use unicorn as the app server
# gem 'unicorn'

# Deploy with Capistrano
# gem 'capistrano'

# To use debugger
# gem 'debugger'

1
do you have pg installed?nishu
i tried installing pg gem when this error occurred. my intention was to push from git to heroku @Nishumrtorks
you shouldn't need the pg gem to push to heroku. can you provide your Gemfile?ptierno
@PeteyT I added the gem filemrtorks
you should use postgresapp.com, on heroku is a good howto devcenter.heroku.com/articles/…Florian Widtmann

1 Answers

2
votes

checking for pg_config... no

is your key.

Ruby and gem can't find where PostgreSQL's pg_config file is living. You have to tell them so they can figure out where PostgreSQL stores its database and support files.

You can do that by adding PostgreSQL's bin directory to your path prior to running gem install pg. You're on Mac OS, so try running locate pg_config from the command-line. You should see something like:

/Library/PostgreSQL/9.2/bin/pg_config

as one of the entries returned. If you don't then you don't have PostgreSQL installed, or you don't have Spotlight or the locate services running which would populate the database used to locate files.

I have a script I keep in my ~/bin directory I call "install_pg.sh":

#!/bin/sh -x

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

That should help you solve the problem.