Не удается установить PG gem в Mavericks с Postgres.приложение
Я пытаюсь установить PG gem для использования с Postgres.приложение на моей локальной машине. Я управляю Mavericks.
Postgres.приложение устанавливается и работает нормально, но я не могу заставить камень работать. Я сделал следующее:
- использовать команду 'ОКР ARCHFLAGS="-Арч x86_64 с" жемчужиной установите пг -- --с-ПГ-конфиг=/приложения/базы данных Postgres.приложение/содержание/Макосе/ОГРН/команду pg_config от Постгреса.документация по приложению
- обновлен доморощенный и установлен Apple GCC 4.2
- установлены инструменты разработчика Xcode
- обновлен мой $ путь для ссылки на оба Postgres.приложение bin и lib
все без успеха. Вот конкретное сообщение об ошибке, которое я получаю:
Building native extensions with: '--with-pg-config=/Applications/Postgres.app/Contents/MacOS/bin/pg_config'
This could take a while...
ERROR: Error installing pg:
ERROR: Failed to build gem native extension.
/Users/Brian/.rvm/rubies/ruby-2.0.0-p353/bin/ruby extconf.rb --with-pg-config=/Applications/Postgres.app/Contents/MacOS/bin/pg_config
Using config values from /Applications/Postgres.app/Contents/MacOS/bin/pg_config
sh: /Applications/Postgres.app/Contents/MacOS/bin/pg_config: No such file or directory
sh: /Applications/Postgres.app/Contents/MacOS/bin/pg_config: No such file or directory
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
--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=/Users/Brian/.rvm/rubies/ruby-2.0.0-p353/bin/ruby
--with-pg
--without-pg
--with-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}/
Я был бы признателен за любую помощь, которую вы можете предложить. Спасибо!
8 ответов:
у вас, вероятно, неправильный путь для
--with-pg-config
, проверьте, если это на самом деле есть.вы можете найти правильный путь к
pg_config
С:find /Applications -name pg_config
в последних Postgres.версия приложения путь:
gem install pg -- --with-pg-config=/Applications/Postgres.app/Contents/Versions/9.5/bin/pg_config
в моем случае (работает Postgres.приложение v9.3.4. 2) казалось, что оно работает только при добавлении флагов архитектуры среды:
env ARCHFLAGS="-arch x86_64" gem install pg -- \ --with-pg-config=/Applications/Postgres.app/Contents/Versions/9.3/bin/pg_config
будучи на совершенно новом mac, вот что я должен был сделать:
- установите Xcode tools из app store
- откройте Xcode tools и примите лицензию
теперь запустите (надеюсь, будущая команда):
version=$(ls /Applications/Postgres.app/Contents/Versions/ | tail -1) gem install pg -- --with-pg-config=/Applications/Postgres.app/Contents/Versions/$version/bin/pg_config .
Если у вас возникли проблемы, вы можете немного устранить неполадки, проверив фактическую ошибку в mkmf.журнал, который вы можете найти, запустив (если используете rvm):
cd ~/.rvm ; find . -name mkmf.log | grep pg
я смог установить pg с помощью этой команды
gem install pg -- --with-pg-config=/Library/PostgreSQL/9.3/bin/pg_config
Я нашел свой путь, выполнив
sudo find / -name "pg_config"
и я успешно установил pg-0.17.1
чтобы решить эту проблему, я установил postgres с помощью homebrew, используя следующее В окне терминала:
brew install postgres
домашнее пиво можно найти здесь
добавление postgress bin dir к пути также делает трюк. просто добавьте мусорное ведро в ПЭТ вот так. при последних установках последняя символическая ссылка гарантирует, что этот путь должен быть "стабильным" для будущих обновлений версии.
export PATH=$PATH:/Applications/Postgres.app/Contents/Versions/latest/bin
для дальнейшего использования, так как многие из нас публикуют новые пути для новых номеров версий:
В настоящее время я вижу символическую ссылку под названием
latest
in/Applications/Postgres.app/Contents/Versions/
.вы должны быть в состоянии просто сделать:
$ gem install pg -- --with-pg-config=/Applications/Postgres.app/Contents/Versions/latest/bin/pg_config
и забудьте о номере версии. Это может не относиться к каждой (более старой) версии, но я сам искал фрагмент, который мог бы сохранить и повторно использовать.