Ответ 1
Используя homebrew, исправлено это для меня:
gem uninstall pg
brew install apple-gcc42
gem install pg
EDIT: я также вручную установил "devtools"
xcode-select --install
После обновления до OS X 10.9 Mavericks Я попытался запустить приложение Rails 3, но соединение с базой данных PG не работало. Проверка на PGAdmin III, база данных все еще существует, и она работает нормально. Поэтому я попытался переустановить жемчуг pg:
gem uninstall pg
gem install pg
Но последняя команда не удалась и дает следующую ошибку:
Создание собственных расширений. Это может занять некоторое время... ОШИБКА: Ошибка установка 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/локальные/бен/pg_config * extconf.rb не удалось * Не удалось создать Makefile по какой-то причине, возможно, отсутствовали необходимые библиотеки и/или заголовки. Проверьте файл mkmf.log для получения более подробной информации. Вам может потребоваться конфигурация варианты.
/Users/XXX/.rvm/rubies/ruby-1.9.3-p194/lib/ruby/1.9.1/mkmf.rb:381:in `try_do ': компилятор не смог сгенерировать исполняемый файл.
(RuntimeError) Сначала вы должны установить средства разработки. из /Users/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 до последней версии, но это не решило проблему. Вы знаете, как это исправить?
Используя homebrew, исправлено это для меня:
gem uninstall pg
brew install apple-gcc42
gem install pg
EDIT: я также вручную установил "devtools"
xcode-select --install
Вы правы, что проблема связана с инструментами разработчика Xcode. Неплохая идея - убедиться, что все инструменты разработчика установлены (в отличие от установки gcc, как указано в предыдущем ответе):
Для всех, кто придет к этой проблеме из новой установки приложения 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. Возврат к предыдущей версии поможет вам:
gem uninstall pg
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;
работает с установкой homegrew 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 и поместите его в каталог приложения.
Затем укажите местоположение недавно загруженного pg_config
, который находится внутри приложения:
gem install pg -- --with-pg-config=/Applications/Postgres.app/Contents/MacOS/bin/pg_config
Если вы запустили проблему с отсутствующими заголовками, попробуйте указать каталог include
приложения:
gem install pg -- --with-pg-include='/Applications/Postgres.app/Contents/MacOS/include/'
Если вы ищете быстрое исправление, добавьте следующее в файл database.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. Через различные испытания и ошибки я нашел что-то, что сработало. К счастью, мои заметки также работали, когда Маверикс сломал все.
Надеюсь, что это поможет:
Не делайте пивоварения.
загрузите программу установки EnterpriseDB с одним щелчком мыши, установите и запустите. Если он не работает, запустите его через командную строку (автоматический режим), и он изменит настройки памяти. Перезапустите, запустите снова.
Позволяет пользователю вызывать postgres с указанным вами паролем. Также устанавливается pgadmin III.
запустите это в каталоге приложения:
env ARCHFLAGS = "- arch x86_64" gem install pg - --with-pg-include =/Library/PostgreSQL/9.2/include/--with-pg-lib =/Library/PostgreSQL/9.2 sudo env ARCHFLAGS = '- arch i386' gem install pg/lib/
Откройте pgadmin3 и создайте пользователя и пароль для рельсов, затем добавьте его в конфигурацию.
psql [имя_базы_] #, чтобы проверить свой дБ. Или используйте pgadmin III