An error occurred while installing pg (0.17.1), and Bundler cannot continue
Ruby on-RailsMacosPostgresqlRuby on-Rails-4Ruby on-Rails Problem Overview
I just installed Rails 4.0.2
and when creating a new app, in the bundle stage I get:
Installing pg (0.17.1)
Gem::Installer::ExtensionBuildError: ERROR: Failed to build gem native extension.
/Users/Dee/.rvm/rubies/ruby-2.0.0-p247/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.
How do I fix this?
Ruby on-Rails Solutions
Solution 1 - Ruby on-Rails
Some kind of error resported here https://stackoverflow.com/questions/19262312/installing-pg-gem-failure-to-build-native-extension
To install dependencies on Ubuntu try this:
sudo apt-get install libpq-dev
and this
gem install pg
Solution 2 - Ruby on-Rails
I'm on a Mac running Mavericks. My solution was to install Postgres.
And then in terminal install using homebrew with the configuration:
gem install pg -- --with-pg-config=/Applications/Postgres.app/Contents/Versions/latest/bin/pg_config
Note: This answer has been edited to use the latest
symlink that is currently included in shipping versions of the Postgres app.
Previous versions suggested:
gem install pg -- --with-pg-config=/Applications/Postgres.app/Contents/Versions/9.4/bin/pg_config
Solution 3 - Ruby on-Rails
app root:
- brew update
- brew install postgres
- gem install pg -- --with-pg-config=/usr/local/Cellar/postgresql/9.3.4/bin/pg_config
- bundle install
- ln -sfv /usr/local/opt/postgresql/*.plist ~/Library/LaunchAgents
- launchctl load ~/Library/LaunchAgents/homebrew.mxcl.postgresql.plist
- createuser -s -r postgres
- rake db:create:all
- rake db:migrate
- rails s
NOTE: replace the version number in step 3 if needed.
Solution 4 - Ruby on-Rails
Previously working answer with older version
I installed under mac OSX Mavericks, having the postgres app (Version 9.2.2.0 ) from www.postgresapp.com installed. The underlying problem was simpy that the since postgres was installed via the app, the configuration file resides on a location which is not the default one when installing it without postgressapp. so we need to tell gem where to find this file by:
gem install pg -- --with-pg-config=/Applications/Postgres.app/Contents/MacOS/bin/pg_config
Hope it helps
Solution 5 - Ruby on-Rails
If gem install pg fails, try the following command:
env ARCHFLAGS="-arch x86_64" gem install pg -- --with-pg-config=/Applications/Postgres.app/Contents/MacOS/bin/pg_config
... from the PostgreSQL.app Documentation
Solution 6 - Ruby on-Rails
Looks like you do not have PostgreSQL installed. The pg
gem requires some headers from PostgreSQL to compile native extension.
Solution 7 - Ruby on-Rails
I had to combine everything and use
sudo env ARCHFLAGS="-arch x86_64" gem install pg -- --with-pg-config=/Applications/Postgres.app/Contents/Versions/9.4/bin/pg_config
Solution 8 - Ruby on-Rails
If you are using something other than Postgres in development and Postgres in production only, you can add the pg gem to your gemfile like so...
group :production do
gem 'pg', '0.17.1'
end
Then use bundle install --without production
Solution 9 - Ruby on-Rails
For CentOS users:
sudo yum install postgresql-devel
and
gem install pg
Solution 10 - Ruby on-Rails
I have just set up a new Macbook Pro which was prebuilt with Catalina.
What worked for me:
- Install the Postgres from here: https://postgresapp.com/
- Add
export PATH="/Applications/Postgres.app/Contents/Versions/latest/bin:$PATH"
to your.zshenv
, since Z shell is now the default terminal.
Solution 11 - Ruby on-Rails
After installing Postgres I had to run the following command
env ARCHFLAGS="-arch x86_64" gem install pg -- --with-pg-config=/Applications/Postgres.app/Contents/Versions/9.3/bin/pg_config
After this bundle install works great!
Hope it helps
Solution 12 - Ruby on-Rails
The way I managed to get past that error was:
- cd to app folder and then set the ruby version locally. I'm using ruby 2.1.2.
>rbenv local 2.1.2
- instead of just running bundle install, install the gems in vendor/bundle
>bundle install --path vendor/bundle
This did it for me.
Solution 13 - Ruby on-Rails
I needed to use sudo
sudo gem install pg -- --with-pg-config=/Applications/Postgres.app/Contents/Versions/9.5/bin/pg_config
Solution 14 - Ruby on-Rails
I was having a problem with Amazon and couldn't use apt-get. For my worked:
sudo yum install postgresql-devel
then:
bundle install
and try again:
rails serve
Solution 15 - Ruby on-Rails
If you installed through Homebrew; gem install pg -- --with-pg-config=/usr/local/bin/pg_config
. Works with Ruby 2.4.6 and pg 0.20.0.
Solution 16 - Ruby on-Rails
It works for me
rvm list gemsets
rvm use ruby-2.4.1
bundle
[