简体   繁体   English

PostgreSQL gem pg无法安装

[英]PostgreSQL gem pg was unable to install

My DB is PostgreSQL.I am on CENTOS.... While installing the pg gem I received the following error. 我的数据库是PostgreSQL。我在CENTOS上。...在安装pg gem时,出现以下错误。 I reinstalled to clear my YAML problem also, which didn't work, but it is just a warning. 我也重新安装以清除YAML问题,该问题不起作用,但这只是一个警告。 My main problem is the installation of the pg gem: 我的主要问题是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

I got the same error on Centos. 我在Centos上遇到了同样的错误。 By googling I found two commands to use: 通过谷歌搜索,我找到了两个要使用的命令:

  1. yum install postgresql-libs -- It gave me message saying, its already installed. yum install postgresql-libs它给我消息说,它已经安装了。
  2. yum install postgresql-devel -- It solved my error related to pg_config for installing the 'pg' .gem. yum install postgresql-devel devel-解决了我与pg_config有关的错误,该错误用于安装'pg'.gem。

Hope it helps :) 希望能帮助到你 :)

apos wrote: on Ubuntu 14.04 install: apos写道:在Ubuntu 14.04上安装:

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

Here's my recipe for getting PostgreSQL, RVM, Ruby, Rails all up and running on CentOS 这是我在CentOS上启动并运行PostgreSQL,RVM,Ruby,Rails的食谱

PostgreSQL PostgreSQL的

First, follow the instructions on http://wiki.postgresql.org/wiki/YUM_Installation to get PostgreSQL installed: 首先,按照http://wiki.postgresql.org/wiki/YUM_Installation上的说明安装PostgreSQL:

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: 获取最新的PGDG RPM文件(适用于您的平台/体系结构),例如:

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. 根据需要配置/var/lib/pgsql/9.2/data/postgresql.conf/var/lib/pgsql/9.2/data/pg_hba.conf

Start PostgreSQL server: 启动PostgreSQL服务器:

sudo service postgresql-9.2 start

RVM 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: 注意, 不是 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 . 之后, which rvm应该以/usr/local/rvm/bin/rvmtype rvm|head -1应该说rvm is a function

Ruby + Rails 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 PostgreSQL宝石

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 . 我最新安装的CentOS需要--with-pg-config ,否则, gem install pg无法找到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. YMMV,但是如果您遵循以上所有内容(在过去几个月中我已经做了足够的几次),请告诉我是否有任何事情令您失望。

try installing libpq package by doing: 尝试通过以下方式安装libpq软件包:

sudo apt-get install libpq-dev

That package helps with pg gem and you should be fine after that :) 该软件包有助于pg gem,在那之后你应该没事的:)

Try This, the answer is not mine but it worked for me. 试试看,答案不是我的,但对我有用。 Remember to point to where your Postgres.app application is: 请记住指向您的Postgres.app应用程序在哪里:

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

Then do 然后做

bundle update
bundle install
$ 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.. 对于CentOS,请阅读以下链接。

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

To install pg in centOS 在centOS中安装pg

run this commands

bundle config build.pg 

gem install pg -v '0.12.0'

Try to install postgresql server and corresponding libraries. 尝试安装postgresql服务器和相应的库。 Then install the pg gem. 然后安装pg gem。 Then it will work for u 那对你有用

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 我的问题是在已安装pg gem之前。但是它没有加载到捆绑包中。现在解决方案是:当我们声明像“ rails new Demo”这样的新应用程序时,我们必须包括

'--database=postgresql'. '--database = postgresql'。 so now the total command is: 'rails new Demo --database=postgresql' 所以现在的总命令是:'rails new Demo --database = postgresql'

Then the pg gem file will gets to bundle.. 然后pg gem文件将被捆绑。

In bundle only one gem will gets store . 捆绑销售中只有一颗宝石可以存储。 either pg gem or sqlite3 gem.. pg宝石或sqlite3宝石。

Now edit the database.yml file accordingly.. thats it 现在,相应地编辑database.yml文件。

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. 最后,我尝试使用PostgreSQL9.3,而不是PostgreSQL9.4,一切都很好。

Using AWS Cloud 9 Linux: 使用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) gem install bundler (Bundler 2.0)

then: 然后:

bundle install

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 然后安装gem install pg

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM