Проблемы с Rails и postgres после обновления до OS X 10.9 Mavericks
после обновления до OS X 10.9 Mavericks Я попытался запустить приложение Rails 3, но соединение с базой данных PG не работало. Проверка на PGAdmin III, база данных все еще там, и она работает нормально. Поэтому я попытался переустановить PG gem:
gem uninstall pg
gem install pg
но последняя команда не удается, и дает следующую ошибку:
строительство собственных расширений. Это может занять некоторое время... Ошибка: Ошибка установка ПГ:
ошибка: не удалось создать собственное расширение gem.
/Users/XXX/.rvm/rubies/ruby-1.9.3-p194/bin/ruby extconf.rb checking for pg_config... yes Using config values from
/ usr / local/bin/pg_config * extconf.РБ не * не удалось создать Makefile по какой-то причине, возможно, из-за отсутствия необходимых библиотек и/или заголовков. Проверять на mkmf.файл журнала для более подробной информации. Может потребоваться настройка опции.
/ пользователи / XXX/.rvm / rubies / ruby-1.9.3-p194/lib/ruby/1.9.1/mkmf.rb: 381: in 'try_do': компилятору не удалось создать исполняемый файл.
(RuntimeError) сначала необходимо установить средства разработки. от / Пользователи / XXX/.rvm / rubies / ruby-1.9.3-p194/lib/ruby/1.9.1/mkmf.rb: 461: in
try_link0' from /Users/XXX/.rvm/rubies/ruby-1.9.3-p194/lib/ruby/1.9.1/mkmf.rb:476:in
try_link ' из extconf.rb: 39: in"
Я думаю, что проблема связана с инструменты разработчика Xcode. Я обновил Xcode до последней версии, но это не решило проблему. Ты знаешь, как это исправить?
8 ответов
используя доморощенного исправлено это для меня:
gem uninstall pg
brew install apple-gcc42
gem install pg
EDIT: я также вручную установил "devtools"
xcode-select --install
вы правы, что проблема связана с инструментами разработчика Xcode. Это не плохая идея, чтобы убедиться, что у вас установлены все инструменты разработчика (в отличие от исключительно установки gcc, как упоминалось в предыдущем ответе):
- откройте Xcode
- в пункте меню приложения "Xcode" выберите Открыть инструмент разработчика > дополнительные инструменты разработчика...
- откроется сайт с кучей программного обеспечения. Вперед, загрузите и установите "инструменты командной строки (OS X Mavericks)для Xcode-конец октября 2013".
- теперь вы сможете правильно установить драгоценный камень.
для тех, кто еще приходит к этой проблеме от новой установки приложения Postgres 9.3.0 на Mac OS X Mavericks (т. е. вы не используете homebrew для установки Postgres), вы можете заметить, что, хотя вы можете построить PG gem, вы не можете запустить грабли из-за проблемы dylib:
rake aborted!
dlopen(/Users/[USERNAME]/.rbenv/versions/2.0.0-p195/lib/ruby/gems/2.0.0/gems/pg-0.15.1/lib/pg_ext.bundle, 9): Library not loaded: @loader_path/../lib/libpq.5.dylib
Referenced from: /Users/[USERNAME]/.rbenv/versions/2.0.0-p195/lib/ruby/gems/2.0.0/gems/pg-0.15.1/lib/pg_ext.bundle
Reason: image not found - /Users/[USERNAME]/.rbenv/versions/2.0.0-p195/lib/ruby/gems/2.0.0/gems/pg-0.15.1/lib/pg_ext.bundle
к сожалению это проблема с текущей выпуск версии 9.3.0 Postgres. Возврат к предыдущей версии исправит это для вас:
- удалите PG gem:
gem uninstall pg
- удалите приложение 9.3.0 Postgres, перетащив его в корзину и очистив корзину
- установить версию 9.2.2.0 приложения Postgres здесь:http://postgres-app.s3.amazonaws.com/PostgresApp-9-2-2-0.zip
- переустановите PG gem:
gem install pg
*спасибо комментарий по jhiro009 на этой теме для указания мне в правильном направлении на этой последней части приложения Postgres проблемы, хотя версия 9.2.4.3, которую он упомянул, не работала для меня.
на OS X Mavericks
sudo ln -s /usr/bin/llvm-gcc /usr/bin/gcc-4.2
gem uninstall pg; gem install pg;
работает с установкой homebrew Postgresql (9.3.1) и установленными инструментами командной строки Apple (pg 0.17.0).
ни одно из предыдущих решений не работало для меня (я просто обновился до Mavericks и обновил XCode). Вместо этого я установил Postgress.app. и позвал
gem install pg -- --with-pg-config=/Applications/Postgres.app/Contents/MacOS/bin/pg_config
ни одно из решений не работал для меня, и я не хочу использовать MacPorts. Попробуйте загрузить Postgres App и поместите его в каталог приложений.
затем укажите местоположение вновь загруженного pg_config
, который находится внутри приложения:
gem install pg -- --with-pg-config=/Applications/Postgres.app/Contents/MacOS/bin/pg_config
если вы столкнулись с проблемой отсутствующих заголовков, попробуйте указать приложения:
gem install pg -- --with-pg-include='/Applications/Postgres.app/Contents/MacOS/include/'
Если вы ищете только быстрое исправление, добавьте следующее в свою базу данных.файл yml:
host: localhost
У меня была точная проблема, добавлена эта строка, и теперь все хорошо.
Мне повезло после этого поста от парней в New-Bamboo:
3 быстрых подсказки для кодирования с OS X 10.9 Mavericks
после установки инструментов Xcode dev третий шаг отсортировал все:
brew tap homebrew/versions && brew install apple-gcc42
brew link --force apple-gcc42
ln -nsf $(which gcc-4.2) /usr/bin/gcc-4.2
У меня была эта проблема при первой попытке установить pg. Через различные испытания и ошибки я нашел то, что сработало. К счастью, мои заметки также работали, когда Mavericks сломал все.
надеюсь, это поможет:
не заваривать.
загрузите программу установки enterpriseDB одним щелчком мыши, смонтируйте и запустите. Если он не работает, запустите его через командную строку (автоматический режим), и он изменит настройки памяти. Перезапустить, запустить снова.
заставляет пользователя postgres с паролем вы. Также устанавливается pgadmin III.
запустите это в каталоге приложений:
ОКР ARCHFLAGS="-Арч x86_64 с" жемчужиной установите пг -- --с-ПГ-включать=/библиотека/в PostgreSQL/9.2/включают в себя/ - с-ПГ-Либ=/библиотека/в PostgreSQL/9.2 судо ОКР ARCHFLAGS='-арка для i386' камень установить ПГ/Либ/
откройте pgadmin3 и создайте пользователя и пароль для rails, затем добавьте его в config.
psql в [имя_базы_данных] # проверить на вашей БД. Или используйте pgadmin III