Установка жгута PG на OS X - невозможность создания собственного расширения

Кажется, у многих других возникли проблемы с установкой pg gem. Ни одно из решений, поставленных для других, не сработало для меня.

Я попытался установить pg gem и postgres.app. Жемчуг pg не будет установлен. Первая ошибка, которую я получаю:

При установке pg (0.17.0) произошла ошибка, и Bundler не может продолжить. Удостоверьтесь, что gem install pg -v '0.17.0' преуспевает перед связыванием.

Совет по установке указывать мою установку gem в config для pg не удается со следующим сообщением об ошибке (которое многие другие на этом форуме столкнулись):

Failed to build native extensions... Results logged to /Users/melanie/.rvm/gems/ruby-1.9.3-p448/gems/pg-0.17.0/ext/gem_make.out

Я не знаю, как найти или получить доступ к этому файлу журнала для поиска дальнейших подсказок.

Я также получаю сообщение об ошибке (команда не найдена), когда я пытаюсь использовать команду sudo apt-get install. Я прочесывал этот форум последние 6 часов, пытаясь найти каждый совет, чтобы заставить pg работать с моим проектом rails.

Я не могу найти совет о том, как изменить путь или, в частности, какие изменения необходимы. Мой which pg_config возвращает источник файла. Я использовал это с помощью команды для установки pg, используя этот конфиг. Он терпит неудачу.

Есть так много людей, у которых были проблемы с этим. Многие ответы предлагают доморощенного. Мне пришлось удалить это, потому что это вызвало другие проблемы.

Ответ 1

Такая же ошибка для меня, и я не испытал ее, пока не загрузил OS X 10.9 (Mavericks). Вздох, другая головная боль обновления ОС.

Вот как я его исправил (с доморощенным):

  • Установите еще одну сборку инструментов Xcode (ввод brew update в терминале подскажет вам обновить инструменты сборки Xcode)
  • brew update
  • brew install postgresql

После этого gem install pg работал у меня.

Ответ 2

Если вы используете Ubuntu, попробуйте установить следующий файл lib

sudo apt-get install libpq-dev

а затем

gem install pg

работал у меня.

Ответ 3

Я использую OS X Mavericks (версия 10.9)

и когда я запустил выше, я получил следующее сообщение: Если сборки PostgreSQL 9 не работают, и у вас установлена ​​версия 8.x.

Итак, я запускаю следующую команду:

ARCHFLAGS="-arch x86_64" gem install pg

и это сработало для меня, я надеюсь, что это кому-то поможет:)

Ответ 4

Хорошо. У меня также была эта проблема (psql v 9.3.0 и ruby ​​v 2.1.2), и решение, которое сработало для меня, сначала устанавливало настройки конфигурации пакета:

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

Этот ответ, наконец, помог мне разобраться: fooobar.com/questions/40017/...

Ответ 5

Я пробовал все в течение нескольких часов, но, наконец, исправил его (я на OS X 10.9.4):

  • Установите инструменты командной строки Xcode (сайт разработчика Apple).
  • brew удалить postgresql
  • brew установить postgresql
  • ARCHFLAGS = "- arch x86_64" gem install pg

Ответ 6

Аналогично, после установки Mavericks bundle update была выбрана ошибка на жемчужине pg, которая используется только на производстве, а не локально.

Я использую Brew для управления моими пакетами, и postgresql уже был установлен, но все же я получал ошибку "no pg_config".

Исправление было только brew uninstall postgresql, затем brew install postgresql. После этого я сразу смог успешно запустить bundle update.

Ответ 7

простой шаг

  • brew install postgresql
  • gem install pg -v 'your version'

Ответ 8

В OSX с установленными Postgres/приложениями я просто запускаю следующую команду (измените 0,20 и 9.4 в соответствии с вашей версией)

gem install pg -v '0.20' -- --with-pg-config=/Applications/Postgres.app/Contents/Versions/9.4/bin/pg_config

Вы должны иметь:

Создание собственных расширений с помощью: '--with-Pg-конфигурации =/Применения/Postgres.app/Содержание/Версии/9.4/бен/pg_config' Это может занять некоторое время... Успешно установлен pg-0.20.

Ответ 9

Try:

gem install pg -- --with-pg-config=`which pg_config`

Ответ 10

Я потратил целый день на это, и вот как я его исправил:

Я обнаружил, что для глобального значения build.pg установлено значение: /opt/local/lib/postgresql91/bin/pg_config и это было не там, где были установлены postgres.

Я исправил его с заменой значения build.pg на: bundle config build.pg --with-pg-config=/usr/local/Cellar/postgresql/9.4.4/bin/pg_config где находится моя установка postgresql.

Ответ 11

Я считаю, что правильным ответом было бы сначала правильно настроить PATH для Postgres.app, добавив следующее к ~/.profile (.zshrc или ~/.zprofile при использовании ZSH):

export PATH=$PATH:/Applications/Postgres.app/Contents/Versions/latest/bin

Затем откройте новую вкладку или окно в терминале и установите драгоценный камень pg с помощью:

ARCHFLAGS="-arch x86_64" gem install pg

Документировано здесь:

Ответ 12

Решено! Я обнаружил недостаток библиотеки для postgresql в системе. Только два шага решили это:

1) brew установить postgresql 2) установка gem pg