Я пытаюсь установить PostgreSQL pg gem для Ruby.
Я выпустил следующую команду:
gem install pg
Я установил Ruby 1.9.2 с помощью RVM.
Приведенная выше команда показывает мне следующую ошибку.
Ошибка:
Building native extensions. This could take a while...
ERROR: Error installing pg:
ERROR: Failed to build gem native extension.
/home/User/.rvm/rubies/ruby-1.9.2-preview3/bin/ruby extconf.rb
checking for pg_config... yes
checking for libpq-fe.h... yes
checking for libpq/libpq-fs.h... yes
checking for PQconnectdb() in -lpq... no
checking for PQconnectdb() in -llibpq... no
checking for PQconnectdb() in -lms/libpq... no
Can't find the PostgreSQL client library (libpq)
*** 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=/home/User/.rvm/rubies/ruby-1.9.2-preview3/bin/ruby
--with-pg
--without-pg
--with-pg-config
--without-pg-config
--with-pg-dir
--without-pg-dir
--with-pg-include
--without-pg-include=${pg-dir}/include
--with-pg-lib
--without-pg-lib=${pg-dir}/lib
--enable-static-build
--disable-static-build
--with-pqlib
--without-pqlib
--with-libpqlib
--without-libpqlib
--with-ms/libpqlib
--without-ms/libpqlib
Gem files will remain installed in /home/user/.rvm/gems/ruby-1.9.2-preview3/gems/pg-0.9.0 for inspection.
Results logged to /home/user/.rvm/gems/ruby-1.9.2-preview3/gems/pg-0.9.0/ext/gem_make.out
Я не знаю, что такое ошибка...
Вам необходимо установить пакет postgreSQL dev с заголовком PostgreSQL
sudo apt-get install libpq-dev
После прочтения и опрокидывания в течение 2 дней, а также для многих вещей, найденных в других заметках, следующая единственная строка была для меня средством для Ubuntu Lucid 10.04, смешанного с некоторыми пакетами Maverick и RVM (ruby 1.9.2-p290, rvm 1.10.2 rubygems 1.8.15, rails 3.0.1, postgres 8.4.10):
gem install pg -- --with-pg-lib=/usr/lib
результат:
Building native extensions. This could take a while...
Successfully installed pg-0.13.1
1 gem installed
Installing ri documentation for pg-0.13.1...
Installing RDoc documentation for pg-0.13.1...
{да - наконец успех}!! ! Обратите внимание, что на выходе из запущенного pg_config отсутствует элемент -lpq в переменной LIBS в моей установке Ubuntu/Postresql!
и почему переход от pq к pg в определенных местах - запутанный для новичков?
вещь, которую я до сих пор не понимаю, - это двойной набор - и --with (опция но я все равно вне моей глубины
Я на Ubuntu 12.10 и запускаю эту команду:
apt-get install libpq-dev
помог мне - после этого запустил gem install pg -v "0.14.1", и теперь все хорошо
Необходимо добавить пакет
sudo apt-get install libpq-dev
установить pg gem в RoR
Установка libpq-dev не помогла мне. Мне также нужно было установить build-essential
sudo apt-get install libpq-dev build-essential
Простое решение для пользователей ubuntu...
Сначала удалите все пакеты postgres, затем запустите эти комбаты...
sudo apt-get install postgresql
sudo apt-get install postgresql-client libpq5 libpq-dev
# for rvm (single user)
mv ~/.rvm/usr/lib ~/.rvm/usr/lib_rvm
# for rvm (multi-user)
mv /usr/local/rvm/usr/lib /usr/local/rvm/usr/lib_rvm
gem install pg -- --with-pg-lib=/usr/lib
Затем запустите 'bundle install'. Все будет отлично. Удачного дня!
В Ubuntu это работает для меня, я надеюсь помочь вам:
sudo apt-get install libpq-dev
а также
gem install pg -- --with-pg-lib=/usr/lib
Для пользователей .RVM это будет лучше:
rvmsudo gem install pg -- --with-pg-lib=/usr/lib
это сработало для меня (после того, как я увидел версию jdupont)
Если у вас установлен libpq-dev и по-прежнему возникает эта проблема, это, скорее всего, из-за противоречивых версий OpenSSL libssl и друзей - версии системы Ubuntu в /usr/lib (с которой libpq построен против) и второй версии RVM установленный в $HOME/.rvm/usr/lib (или/usr/local/rvm/usr/lib, если он устанавливается системой). Вы можете проверить это, временно переименовав $HOME/.rvm/usr/lib и посмотрев, работает ли "gem install pg".
Чтобы решить эту проблему, выполните команду rvm rebuild с использованием системных OpenSSL-библиотек (вам может потребоваться вручную удалить libssl. * и libcrypto. * из каталога rvm/usr/lib):
rvm reinstall 1.9.3 --with-openssl-dir=/usr
Это, наконец, решило проблему для меня на Ubunto 12.04.
Попробуйте это
sudo apt-get install postgresql postgresql-contrib libpq-dev
Вы должны установить сервер базы данных PG, в первую очередь, для установки клиентов. После этого вы устанавливаете клиентов.
Это решило проблему для меня на Ubuntu 12.04 после того, как каждое предложение здесь потерпело неудачу.
rvmsudo gem install pg -v '0.12.2' -- --with-pg-lib=/usr/include/postgresql
Я пытался настроить проект Rails в моем недавно установленном Ubuntu 16.04. Я столкнулся с проблемой при запуске пакета. Запуск
sudo apt-get install aptitude
за которым следует
sudo apt-get install libpq-dev
Решил это для меня.
Для тех, кто по-прежнему испытывает проблемы после того, как попробовал все ответы на этой странице, следующее (наконец) работало:
sudo apt-get install libgmp3-dev
gem install pg
Это было после, делая все остальное, упомянутое на этой странице.
postgresql 9.5.8
Ubuntu 16.10
Для тех, кто пытается установить Redmine, я пропустил sudo apt-get install ruby-all-dev
после того, как попробовал все вышеперечисленное.
Исходная ошибка mkmf.rb can't find header files for ruby at /usr/lib/ruby/include/ruby.h
.
Другим решением этой проблемы является установка PostgreSQL с использованием Homebrew/linuxbrew:
brew install postgresql
Как правило, я не люблю использовать sudo, если только не хочу.
У меня была такая же проблема, и я попробовал много разных вариантов. После некоторых попыток я смог sudo gem install
, но все еще есть проблема, чтобы установить его без sudo.
Наконец я нашел деление - мне помогла переустановка rvm. Вероятно, это может сэкономить время кому-то другому.
apt-get install ruby-dev
работал для меня.