Подтвердить что ты не робот

PostgreSQL gem pg не удалось установить

Моя БД - PostgreSQL. Я на CENTOS.... При установке pg gem я получил следующую ошибку. Я также переустановил, чтобы очистить мою проблему YAML, которая не сработала, но это всего лишь предупреждение. Моя основная проблема заключается в установке pg gem:

[[email protected] ~]# 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

Я также попробовал следующую команду, но не использовал:

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

Ответ 1

Я получил ту же ошибку в Centos. По googling я нашел две команды для использования:

  • yum install postgresql-libs - Он дал мне сообщение о том, что он уже установлен.
  • yum install postgresql-devel - Он решил мою ошибку, связанную с pg_config для установки 'pg'.gem.

Надеюсь, это поможет:)

apos писал (а): на Ubuntu 14.04 install:

  • apt-get install postgresql-server-dev-9.3 libpq-dev

Ответ 2

Здесь мой рецепт получения PostgreSQL, RVM, Ruby, Rails и запуск на CentOS

PostgreSQL

Во-первых, следуйте инструкциям http://wiki.postgresql.org/wiki/YUM_Installation, чтобы установить PostgreSQL:

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

[base]
exclude=postgresql*

[updates]
exclude=postgresql*

Получите последний RPM файл PGDG (для вашей платформы/архитектуры), например:

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

РВМ

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/rvm и type 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

График PostgreSQL

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

--with-pg-config как-то понадобится с моей последней установкой CentOS, иначе gem install pg не может найти pg_config. YMMV, но если вы будете следовать всем вышеперечисленным буквам (что я делал достаточно раз за последние несколько месяцев), просто сообщите мне, если что-нибудь вас подойдет.

Ответ 3

попробуйте установить пакет libpq, выполнив:

sudo apt-get install libpq-dev

Этот пакет помогает с pg gem, и после этого вы должны быть в порядке:)

Ответ 4

Попробуй, ответ не мой, но это сработало для меня. Не забудьте указать, где ваше приложение Postgres.app:

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

Тогда do

bundle update
bundle install

Ответ 5

$ 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

Чтобы установить pg в centOS

run this commands

bundle config build.pg 

gem install pg -v '0.12.0'

Ответ 6

Попробуйте установить сервер postgresql и соответствующие библиотеки. Затем установите pg gem. Тогда это будет работать для u

Ответ 7

Моя проблема заключается в том, что pg gem уже установлен.. но это не загрузка для пакета. Теперь решение: когда мы объявляем новое приложение, такое как "rails new Demo", мы должны включить

'- база данных = PostgreSQL. поэтому теперь общая команда: "rails new Demo --database = postgresql"

Затем файл pg gem получит связывание.

В комплекте только один драгоценный камень получит магазин. либо pg gem, либо sqlite3 gem..

Теперь отредактируйте файл database.yml соответственно.. thats it

Ответ 8

У меня такая же проблема, и я попытался установить все зависимости, но все бесполезно. В конце концов, я попытался использовать PostgreSQL9.3, а не PostgreSQL9.4, и все в порядке.

Ответ 9

Использование AWS Cloud 9 Linux:

sudo yum install postgresql-libs

затем:

sudo yum install postgresql-devel

затем:

gem update --system

затем:

bundle install

Ответ 10

Сначала установите

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

Следующая установка -

sudo apt-get install libpq-dev

Затем установите gem install pg