Установка жгута 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