Лев, RVM, Postgresql и PG Gem - PullRequest
       19

Лев, RVM, Postgresql и PG Gem

1 голос
/ 03 октября 2011

Я пытаюсь обновить приложение Rails 3.0.x до 3.1, но у меня возникают некоторые проблемы: Heroku (на котором размещено мое приложение) требует, чтобы я использовал их стек Cedar и включил гем "PG" в мой гемфайл Я видел, что у людей довольно много проблем при установке этого гема, потому что он, похоже, не знает, где найти установку Postgresql.

Я знаю, что мои варианты установки Postgresql - это, вероятно, MacPorts, One Click Installer (с их сайта), Homebrew и, возможно, некоторые из них, о которых я не знаю.

Итак, я предполагаю, что мой вопрос, какой из этих методов мне использовать для установки Postgresql (на Lion)? Тогда как мне заставить PG gem установить w / RVM без жалоб на то, что он не может найти мою установку postgresql?

Ответы [ 2 ]

2 голосов
/ 03 октября 2011

Я просто установил PosgreSQL, используя homebrew, а затем сделал bundle install для моего проекта, который использовал гем pg.Работает как шарм.И да, я запускаю RVM.

1 голос
/ 04 октября 2011

По моему опыту, установщик "одним щелчком" работает лучше всего, хотя я думаю, что Homebrew, вероятно, тоже подойдет.Версия «одним щелчком» на Lion - это версия, которую я использую при разработке и тестировании библиотеки pg.Вам не следует устанавливать его через Macports, если вы не уверены, что он связан с той же версией OpenSSL, что и расширение OpenSSL вашего Ruby.Если они связаны с разными версиями, вы рискуете segfaulting.

Двоичный файл 'pg_config' является критически важной частью установки гема pg для установки.Если он не может найти это (и вы не указываете на него, используя параметр --with-pg-config), он попытается угадать, где что-то установлено, но это не всегда работает.Кроме того, как и с любым расширением, которое связывается с общей библиотекой, вам необходимо убедиться, что вы скомпилировали расширение с той же архитектурой (ами), что и ваш Ruby.Установка 'ARCHFLAGS' в '-arch x86_64' обычно работает на Lion.

См. MacOS X README для получения более подробной информации.

Если у вас все еще есть проблемы, почувствуйтеможете написать мне, так как я бы хотел, чтобы 'pg' был проще для всех.Я работаю над улучшением диагностики, когда что-то идет не так, но трудно предвидеть каждый случай, когда сборка может пойти не так.

...