Не удается установить pg gem в Mavericks с помощью Postgres.app
Я пытаюсь установить pg gem для использования с Postgres.app на моей локальной машине. Я бегу Маверикс.
Postgres.app установлен и работает нормально, но я не могу заставить камень работать. Я сделал следующее:
- Используется команда env ARCHFLAGS = "- arch x86_64" gem install pg - --with-pg-config =/Applications/Postgres.app/Содержание/MacOS/bin/pg_config 'из документации Postgres.app
- Обновлено Homebrew и установлен Apple GCC 4.2
- Установлены инструменты разработчика Xcode
- Обновлен мой $PATH для ссылки на каталоги bin и lib Postgres.app.
Все без успеха. Вот конкретное сообщение об ошибке, которое я получаю:
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}/
Буду признателен за любую помощь, которую вы можете предложить. Спасибо!
Ответы
Ответ 1
Вероятно, у вас есть неправильный путь для --with-pg-config
, проверьте, действительно ли он там.
Вы можете найти правильный путь к pg_config
с помощью:
find /Applications -name pg_config
В последней версии Postgres.app путь:
gem install pg -- --with-pg-config=/Applications/Postgres.app/Contents/Versions/9.5/bin/pg_config
Ответ 2
В моем случае (запуск Postgres.app 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
Ответ 3
Будучи на совершенно новом mac, вот что я должен был сделать:
- Установить инструменты Xcode из магазина приложений
- Откройте инструменты Xcode и примите лицензию
-
Теперь запустите (надеюсь, будущую команду):
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.log, которую вы можете найти, выполнив (если используется rvm):
cd ~/.rvm ; find . -name mkmf.log | grep pg
Ответ 4
Мне удалось установить pg с помощью этой команды
gem install pg -- --with-pg-config=/Library/PostgreSQL/9.3/bin/pg_config
Я нашел свой путь, запустив
sudo find / -name "pg_config"
и я успешно установлен pg-0.17.1
Ответ 5
Чтобы решить эту проблему, я установил postgres, используя homebrew, используя следующее в окне терминала:
brew install postgres
Домашняя страница находится здесь
http://brew.sh
Ответ 6
Это сработало для меня:
gem install pg -- --with-pg-config=`which pg_config`
Ответ 7
добавление пути postgress bin к пути также делает трюк. просто добавьте корзину в пат, как это. с недавней установкой последней символической ссылки, убедитесь, что этот путь должен быть "стабильным" для будущих обновлений версии.
export PATH=$PATH:/Applications/Postgres.app/Contents/Versions/latest/bin
Ответ 8
В будущем, поскольку многие из нас публикуют новые пути для новых номеров версий:
В настоящее время я вижу символическую ссылку latest
в /Applications/Postgres.app/Contents/Versions/
.
Вы должны иметь возможность:
$ gem install pg -- --with-pg-config=/Applications/Postgres.app/Contents/Versions/latest/bin/pg_config
И забудьте о номере версии. Это может не относиться к каждой (более старой) версии, но я сам искал фрагмент, который я мог бы сохранить и повторно использовать.