Я пытаюсь разрабатывать в Ruby on Rails, используя PostgreSQL локально, поэтому я пытаюсь установить гем pg. На Убунту 12.04. В терминале я набрал:
gem install pg -v '0.12.2'
Что выдает следующую ошибку:
Building native extensions. This could take a while...
ERROR: Error installing pg:
ERROR: Failed to build gem native extension.
/home/troyshu/.rvm/rubies/ruby-1.9.3-p194/bin/ruby extconf.rb
checking for pg_config... yes
Using config values from /usr/bin/pg_config
checking for libpq-fe.h... yes
checking for libpq/libpq-fs.h... yes
checking for pg_config_manual.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
--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/troyshu/.rvm/rubies/ruby-1.9.3-p194/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
--with-pqlib
--without-pqlib
--with-libpqlib
--without-libpqlib
--with-ms/libpqlib
--without-ms/libpqlib
Gem files will remain installed in /home/troyshu/.rvm/gems/ruby-1.9.3-p194/gems/pg-0.14.1 for inspection.
Results logged to /home/troyshu/.rvm/gems/ruby-1.9.3-p194/gems/pg-0.14.1/ext/gem_make.out
Интересно, что добавление sudo к команде работает:
$ sudo gem install pg -v '0.12.2'
Building native extensions. This could take a while...
Successfully installed pg-0.12.2
1 gem installed
Кстати, мне пришлось запустить «sudo apt-get install ruby1.9.1-dev», чтобы вышеуказанная команда заработала. Но я все еще не могу заниматься разработкой, потому что «установка пакета» не будет работать (и постоянно говорит мне запустить «gem install pg -v '0.12.2')
У меня такое ощущение, что "gem install pg" спотыкается на
checking for PQconnectdb() in -lpq... no
checking for PQconnectdb() in -llibpq... no
checking for PQconnectdb() in -lms/libpq... no
но, как полный нуб в Ubuntu и RoR, я понятия не имею, почему. Может быть, мои поисковые навыки тоже хромают, потому что я не смог найти решение для своего конкретного случая. Надеюсь есть исправление?
Спасибо!
libpq-dev
установлен? Я опубликовал ответ, который объясняет, как это сделать. - person Colin R   schedule 22.09.2012libpq-dev
у вас установлены? - person Colin R   schedule 23.09.2012$ sudo apt-get update
,$ sudo apt-get install postgresql libpq-dev build-essentials git-core curl
,$ curl -L https://get.rvm.io | bash -s stable --ruby
и$ gem install pg -v
0.12.2` без ошибок (также я установил последнюю версиюpg
gem, v0. 14.1 без ошибок; возможно, вы захотите посмотреть, сможете ли вы использовать новейшую версию, но не обязательно, что она решит вашу проблему). - person Colin R   schedule 23.09.2012libpq-dev
?$ sudo apt-get autoremove postgresql libpq-dev
если вы установили с помощью apt. Пока вы этим занимаетесь, вам следует подумать об использовании последней версии Postgres:$ sudo add-apt-repository ppa:pitti/postgresql
,$ sudo apt-get update
,$ sudo apt-get install postgresql libpq-dev
. Примечание. Все это предполагает, что вы не являетесь пользователем root - person Colin R   schedule 23.09.2012