PostgreSQL gem pg was unable to install

前端 未结 10 841
孤城傲影
孤城傲影 2021-01-31 09:23

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 jus

10条回答
  •  星月不相逢
    2021-01-31 09:31

    Here's my recipe for getting PostgreSQL, RVM, Ruby, Rails all up and running on CentOS

    PostgreSQL

    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
    

    RVM

    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.

    Ruby + Rails

    rvm install 1.9.3 --with-openssl-dir=/usr
    rvm use 1.9.3 --default
    gem install rake
    gem install rails
    

    PostgreSQL gem

    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.

提交回复
热议问题