PostgreSQL gem pg无法安装

我的DB是PostgreSQL。我在CENTOS ….安装pg gem我收到以下错误。 我重新安装以清除我的YAML问题,但这不起作用,但它只是一个警告。 我的主要问题是安装pg gem:

[root@vdimc04 ~]# gem install pg /usr/local/lib/ruby/1.9.1/yaml.rb:56:in `': 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 

我也尝试使用以下命令,但没有用:

  gem install pg -- --with-pg-config=/usr/pgsql-9.1/bin/pg_config 

我在Centos上遇到了同样的错误。 通过谷歌搜索我发现了两个命令:

  1. yum install postgresql-libs – 它给我的消息说,它已经安装好了。
  2. yum install postgresql-devel – 它解决了与pg_config相关的错误,用于安装’pg’.gem。

希望能帮助到你 :)

apos写道:在Ubuntu 14.04上安装:

  1. apt-get install postgresql-server-dev-9.3 libpq-dev

这是我在CentOS上运行PostgreSQL,RVM,Ruby,Rails的秘诀

PostgreSQL的

首先,按照http://wiki.postgresql.org/wiki/YUM_Installation上的说明安装PostgreSQL:

sudo vi /etc/yum.repos.d/CentOS-Base.repo

 [base] exclude=postgresql* [updates] exclude=postgresql* 

获取最新的PGDG RPM文件(适用于您的平台/架构),例如:

 curl -O http://yum.postgresql.org/9.2/redhat/rhel-latest-x86_64/pgdg-redhat92-9.2-7.noarch.rpm 

然后

 sudo rpm -ivh pgdg-redhat92-9.2-7.noarch.rpm sudo yum install -y postgresql92-server postgresql92-devel 

初始化数据库:

 sudo service postgresql-9.2 initdb 

根据需要配置/var/lib/pgsql/9.2/data/postgresql.conf/var/lib/pgsql/9.2/data/pg_hba.conf

启动PostgreSQL服务器:

 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 

注意, 不是 root:

 \curl -L get.rvm.io | sudo bash -s stable 

退出并重新开启。 之后, which rvm应该回复/usr/local/rvm/bin/rvmtype rvm|head -1应该说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 

PostgreSQLgem

 gem install pg -- --with-pg-config=/usr/pgsql-9.2/bin/pg_config 

我最新安装的CentOS需要以某种方式使用--with-pg-config ,否则, gem install pg找不到pg_config 。 YMMV,但是如果你按照上述所有内容(我在过去几个月里已经做了足够多次),请告诉我你是否有任何绊倒的事。

尝试安装libpq包:

 sudo apt-get install libpq-dev 

那个包有助于pg gem,你应该没关系:)

试试这个,答案不是我的,但它对我有用。 请记住指向Postgres.app应用程序的位置:

 bundle config build.pg --with-pg-config=/Applications/Postgres.app/Contents/MacOS/bin/pg_config 

然后做

 bundle update bundle install 
 $ sudo apt-get install libpq-dev $ sudo apt-get install libdbd-pg-ruby1.8 

然后:

 $ sudo apt-get install pg 

对于CentOS,请阅读以下链接..

http://wiki.postgresql.org/wiki/YUM_Installation

在centOS中安装pg

 run this commands bundle config build.pg gem install pg -v '0.12.0' 

尝试安装postgresql服务器和相应的库。 然后安装pg gem。 那么它对你有用

我的问题是在pg gem已经安装之前..但它没有加载到bundle ..现在的解决方案是:当我们声明一个新的应用程序,如’rails new Demo’时,我们必须包括

‘–database = PostgreSQL的。 所以现在总命令是:’rails new Demo –database = postgresql’

然后pg gem文件将被捆绑..

在捆绑中,只有一个gem会被存储。 pg gem或sqlite3 gem ..

现在相应地编辑database.yml文件..就是这样

我遇到了同样的问题,我试图安装所有依赖项,但都没用。 最后,我尝试使用PostgreSQL9.3,而不是PostgreSQL9.4,一切都很好。

首先安装

 sudo apt-get install postgresql postgresql-server-dev-9.1 

下次安装

 sudo apt-get install libpq-dev 

然后安装gem install pg