Вопрос

Я работаю над приложением rails.
Установил Postgresql с помощью postgresql-9.1.2-1- osx.dmg
Установлен pg gem.
Затем, когда я казнил rake db:create получаю следующую ошибку -

dlopen(/Users/sathishvc/.rvm/gems/ruby-1.9.3-head@knome-vivacious/gems/pg-0.12.2/lib/pg_ext.bundle, 9):Библиотека не загружена:/usr/local/lib/libpq.5.4.dylib

Проверил, если /usr/local/lib/libpq.5.4.dylib существует или нет.Это не так.
Итак, он должен существовать где-то еще в системе, или я не знаю, нужно ли мне устанавливать для этого какое-либо другое программное обеспечение.

Посоветуйте, пожалуйста, кому-нибудь?

Это было полезно?

Решение 3

Через некоторое время после того, как я опубликовал этот вопрос, я обнаружил, что libpq.5.4.dylib проживает в /Library/PostgreSQL/9.1/lib/.
Итак, я создал следующую ссылку:
lrwxr-xr-x 1 sathishvc admin 43 Jan 28 23:40 /usr/local/lib/libpq.5.4.dylib -> /Library/PostgreSQL/9.1/lib/libpq.5.4.dylib.

Тогда это решило проблему.

Другие советы

если вы обновили PostgreSQL с помощью homebrew (brew update && brew upgrade), то просто удалите pg gem:

gem uninstall pg
bundle install

и путь будет исправлен для вас.Нет необходимости удалять весь кластер PostgreSQL целиком.

Я столкнулся с этой проблемой после перехода на PostgresApp и удаления существующей версии PostgreSQL с помощью

brew remove postgres

В конечном счете я решил проблему, переустановив PostgreSQL с помощью

brew install postgres

Я смог сохранить использование PostgresApp, добавив следующее в мой .bash_profile

export PATH="/Applications/Postgres.app/Contents/MacOS/bin:/usr/local/bin:$PATH"

Вы также можете попробовать запустить:

brew doctor

Поскольку это предупредило меня об этом, а также о некоторых дополнительных ошибках.

Эта ошибка также влияла на мою способность использовать драгоценный камень Paperclip, поскольку это приводило к сбою ImageMagick с той же ошибкой.

(С использованием OS X 10.8.2)

В моем случае удаление / переустановка gem не помогла.Но я добавил путь к библиотеке PostgreSQL в $DYLD_LIBRARY_PATH переменная окружения в моем ~/.bash_profile:

export DYLD_LIBRARY_PATH=/Library/PostgreSQL/9.3/lib:$DYLD_LIBRARY_PATH

Если у вас также установлен MySQL, эта строка может выглядеть следующим образом:

export DYLD_LIBRARY_PATH=/usr/local/mysql/lib:/Library/PostgreSQL/9.3/lib:$DYLD_LIBRARY_PATH

Конечно, обратите внимание на номер версии в пути к PostgreSQL, на момент написания этой статьи это 9.3.Я использую RVM, Ruby 2.0.0, pg gem 0.17.0, на Mac OS X 10.6.

Попробуй brew prune а затем переустановите

это не прямой ответ на вопрос, но он может возникать часто

Два дополнительных случая, которые могут представлять интерес, если вы обновили PostgreSQL с помощью homebrew:

  1. в прошлом вы приступали к некоторому сокращению версий gem
  2. ваше приложение старше и не может использовать последнюю версию pg (у меня приложение rails 2 выходит из строя с pg 0.17 и почти убивает сервер:объем mkmr.log увеличивается в геометрической прогрессии ... попробуйте 200 ГБ!)

на самом деле у вас может быть множество версий pg, на которые вы можете положиться

когда ты бежишь

gem uninstall pg

если у вас более одной версии, система спросит, какую версию вы хотите удалить.Но этот список может оказаться вам полезным!В качестве альтернативы ответу awenkhh вы можете остановиться на этом и сбросить свои драгоценные камни до приемлемой версии

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top