Reputation: 1735
My DB is PostgreSQL.I am on CENTOS.... While installing the pg gem I received the following error. I reinstalled to clear my YAML problem also, which didn't work, but it is just a warning. My main problem is the installation of the pg gem:
[root@vdimc04 ~]# gem install pg
/usr/local/lib/ruby/1.9.1/yaml.rb:56:in `<top (required)>':
It seems your ruby installation is missing psych (for YAML output).
To eliminate this warning, please install libyaml and reinstall your ruby.
Building native extensions. This could take a while...
ERROR: Error installing pg:
ERROR: Failed to build gem native extension.
/usr/local/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=/usr/local/bin/ruby
--with-pg
--without-pg
--with-pg-dir
--without-pg-dir
--with-pg-include
--without-pg-include=${pg-dir}/include
--with-pg-lib
--without-pg-lib=${pg-dir}/lib
--with-pg-config
--without-pg-config
--with-pg_config
--without-pg_config
Gem files will remain installed in /usr/local/lib/ruby/gems/1.9.1/gems/pg-0.14.1 for inspection.
Results logged to /usr/local/lib/ruby/gems/1.9.1/gems/pg-0.14.1/ext/gem_make.out
I also tried with the following command, but to no use:
gem install pg -- --with-pg-config=/usr/pgsql-9.1/bin/pg_config
Upvotes: 31
Views: 25141
Reputation: 2957
For Centos 7 and pg gem version 1.4.0 which requires postgres version greater or equal 9.3:
yum -y install https://download.postgresql.org/pub/repos/yum/reporpms/EL-7-x86_64/pgdg-redhat-repo-latest.noarch.rpm
yum install -y centos-release-scl-rh
yum search -y postgresql13-devel
yum install -y libpqxx-devel postgresql13-devel
ln -sf /usr/pgsql-13/bin/pg_config /usr/bin/pg_config
gem install pg:1.4.0
Upvotes: 0
Reputation: 486
Using AWS Cloud 9 Linux:
sudo yum install postgresql-libs
then:
sudo yum install postgresql-devel
then:
gem update --system
if needed, then:
gem install bundler
(Bundler 2.0)
then:
bundle install
Upvotes: 0
Reputation: 5974
I got the same error on Centos. By googling I found two commands to use:
yum install postgresql-libs
-- It gave me message saying, its already installed.yum install postgresql-devel
-- It solved my error related to pg_config
for installing the 'pg' .gem.Hope it helps :)
apos wrote: on Ubuntu 14.04 install:
apt-get install postgresql-server-dev-9.3 libpq-dev
Upvotes: 85
Reputation: 769
I got the same problem and I tried to install all dependencies, but all is useless. In the end, I had a try to use PostgreSQL9.3, not PostgreSQL9.4, and everything is fine.
Upvotes: 0
Reputation: 321
Try This, the answer is not mine but it worked for me. Remember to point to where your Postgres.app application is:
bundle config build.pg --with-pg-config=/Applications/Postgres.app/Contents/MacOS/bin/pg_config
Then do
bundle update
bundle install
Upvotes: 6
Reputation: 1735
My problem is before pg gem was already installed.. but it is not loading to bundle.. Now the solution is: when we are declaring a new application like 'rails new Demo' we have to include
'--database=postgresql'. so now the total command is: 'rails new Demo --database=postgresql'
Then the pg gem file will gets to bundle..
In bundle only one gem will gets store . either pg gem or sqlite3 gem..
Now edit the database.yml file accordingly.. thats it
Upvotes: 0
Reputation: 6577
Here's my recipe for getting PostgreSQL, RVM, Ruby, Rails all up and running on CentOS
First, follow the instructions on http://wiki.postgresql.org/wiki/YUM_Installation to get PostgreSQL installed:
sudo vi /etc/yum.repos.d/CentOS-Base.repo
[base]
exclude=postgresql*
[updates]
exclude=postgresql*
Get the latest PGDG RPM file (for your platform/architecture), for example:
curl -O http://yum.postgresql.org/9.2/redhat/rhel-latest-x86_64/pgdg-redhat92-9.2-7.noarch.rpm
Then
sudo rpm -ivh pgdg-redhat92-9.2-7.noarch.rpm
sudo yum install -y postgresql92-server postgresql92-devel
Initialize the database:
sudo service postgresql-9.2 initdb
Configure /var/lib/pgsql/9.2/data/postgresql.conf
and /var/lib/pgsql/9.2/data/pg_hba.conf
as needed.
Start PostgreSQL server:
sudo service postgresql-9.2 start
sudo yum -y groupinstall "Development Tools"
sudo yum -y install zlib zlib-devel sqlite-devel httpd curl-devel httpd-devel apr-devel apr-util-devel mlocate man libxml2-devel libxslt-devel libffi-devel readline-devel
Note, NOT as root:
\curl -L get.rvm.io | sudo bash -s stable
Logout and back on. Afterwards, which rvm
should reply with /usr/local/rvm/bin/rvm
and type rvm|head -1
should say rvm is a function
.
rvm install 1.9.3 --with-openssl-dir=/usr
rvm use 1.9.3 --default
gem install rake
gem install rails
gem install pg -- --with-pg-config=/usr/pgsql-9.2/bin/pg_config
The --with-pg-config
is somehow needed with my latest installation of CentOS, otherwise, gem install pg
can't find pg_config
. YMMV, but if you follow all the above to the letter (which I've done enough times in the past few months) just let me know if anything trips you up.
Upvotes: 20
Reputation: 111
Try to install postgresql server and corresponding libraries. Then install the pg gem. Then it will work for u
Upvotes: 1
Reputation: 1815
$ sudo apt-get install libpq-dev
$ sudo apt-get install libdbd-pg-ruby1.8
then:
$ sudo apt-get install pg
for CentOS please read the below link..
http://wiki.postgresql.org/wiki/YUM_Installation
To install pg in centOS
run this commands
bundle config build.pg
gem install pg -v '0.12.0'
Upvotes: 3
Reputation: 2034
First install
sudo apt-get install postgresql postgresql-server-dev-9.1
Next install
sudo apt-get install libpq-dev
Then install gem install pg
Upvotes: 0
Reputation: 2830
try installing libpq package by doing:
sudo apt-get install libpq-dev
That package helps with pg gem and you should be fine after that :)
Upvotes: 6