Reputation: 2715
It seems many others have had problems installing the pg gem. None of the solutions posed for others have worked for me.
I have tried to install the pg gem and postgres.app. The pg gem won't install. The first error I get is:
An error occurred while installing pg (0.17.0), and Bundler cannot continue.
Make sure that gem install pg -v '0.17.0'
succeeds before bundling.
The installation advice about pointing my gem install to the config for pg fails with the following error message (which many others on this forum have encountered):
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
I don't know how to find or access this log file to search for further clues.
I also get an error message (command not found) when I try using the sudo apt-get install command. I've scoured this forum for the last 6 hours, trying each piece of advice to get pg working with my rails project.
I can't find advice about how to change a path, or specifically, what change is required. My which pg_config
returns a file source. I've used that with a command to install pg using that config. It fails.
There are so many people that have had trouble with this. Many answers suggest homebrew. I've had to remove that because it threw up other issues.
Upvotes: 202
Views: 121537
Reputation: 5036
For AWS EC2 (Amazon Linux) user:
# This 3 lines are used to `gem install pg ...` successfully
yum install ruby-devel
yum groupinstall "Development Tools"
yum install postgresql-devel # After you run this, you will have a `/usr/bin/pg_config` to be used
gem install pg -v '1.5.6' -- --with-pg-config=/usr/bin/pg_config
Upvotes: 0
Reputation: 41
running brew update
and then brew install postgresql
worked for me, I was able to run the pg
gem file no problem after that.
Upvotes: 4
Reputation: 1210
For those who are not interested to use brew
.
PostgreSQL
application.PostgreSQl
.gem install pg -- --with-pg-config=
/path/to/postgress/in/your/applications/folder/`
/Applications/Postgres.app/Contents/Versions/12/bin/pg_config
Upvotes: 1
Reputation: 31
Solved! I found some lack of library for PostgreSQL on the system. Only two steps solved it:
brew install postgresql
Then run
gem install pg
Upvotes: 2
Reputation: 506
On OSX with Postgres installed in /Applications, I simply run the following command (change 0.20 & 9.4 according to your version)
gem install pg -v '0.20' -- --with-pg-config=/Applications/Postgres.app/Contents/Versions/9.4/bin/pg_config
You should have :
Building native extensions with: '--with-pg-config=/Applications/Postgres.app/Contents/Versions/9.4/bin/pg_config' This could take a while... Successfully installed pg-0.20.
Upvotes: 6
Reputation: 6153
Same error for me and I didn't experience it until I downloaded OS X 10.9 (Mavericks). Sigh, another OS upgrade headache.
Here's how I fixed it (with homebrew):
brew update
in the terminal will prompt you to update the Xcode build tools)brew update
brew install postgresql
After that gem install pg
worked for me.
Upvotes: 481
Reputation: 916
I believe the “correct” answer would be to first configure PATH correctly for Postgres.app by adding the following to ~/.profile
(.zshrc
or ~/.zprofile
if using ZSH):
export PATH=$PATH:/Applications/Postgres.app/Contents/Versions/latest/bin
Then open a new tab or window in terminal and install the pg
gem with:
ARCHFLAGS="-arch x86_64" gem install pg
Documented here:
Upvotes: 6
Reputation: 106
easy step
brew install postgresql
gem install pg -v 'your version'
Upvotes: 8
Reputation: 31
I spent a day on this and here's how I got it fixed:
I found that global value of build.pg was set to: /opt/local/lib/postgresql91/bin/pg_config
and that was not where postgres was installed.
I fixed it with replacing the value of build.pg to:
bundle config build.pg --with-pg-config=/usr/local/Cellar/postgresql/9.4.4/bin/pg_config
which is where my postgresql installation is.
Upvotes: 3
Reputation: 7527
I tried everything for hours but the following finally fixed it (I'm on OS X 10.9.4):
Upvotes: 23
Reputation: 2501
If you are using Ubuntu try to install following lib file
sudo apt-get install libpq-dev
and then
gem install pg
worked for me.
Upvotes: 235
Reputation: 491
Ok I also had this problem (psql is v 9.3.0 and ruby is v 2.1.2) and the solution that worked for me was setting the bundle config settings first:
bundle config build.pg -- --with-pg-config=/Applications/Postgres.app/Contents/Versions/9.3/bin/pg_config
This answer finally helped me figure it out: https://stackoverflow.com/a/9235107/3546680
Upvotes: 47
Reputation: 353
Similarly, after installing Mavericks bundle update
was throwing an error on the pg gem, which is only used on production and not locally.
I use Brew to manage my packages and postgresql was already installed, but still I was getting the 'no pg_config' error.
The fix was to just brew uninstall postgresql
, then brew install postgresql
. After which I was immediately able to successfully run bundle update
.
Upvotes: 6
Reputation: 1328
I am using OS X Mavericks (version 10.9)
and when I run the above I got the following message: If builds of PostgreSQL 9 are failing and you have version 8.x installed.
So I run the following command:
ARCHFLAGS="-arch x86_64" gem install pg
and this worked for me, I hope this helps someone :)
Upvotes: 49