Библиотека не загружена: /usr/local/lib/libpq.5.4.dylib - PullRequest
40 голосов
/ 26 января 2012

Я работаю над приложением 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 или нет.Это не так.
Итак, он должен существовать где-то еще в системе, или я не знаю, нужно ли мне для этого устанавливать какую-либо другую часть программного обеспечения.

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

Ответы [ 6 ]

63 голосов
/ 10 октября 2013

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

gem uninstall pg
bundle install

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

5 голосов
/ 22 февраля 2013

Я столкнулся с этой проблемой после переключения на 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)

3 голосов
/ 07 июня 2012

Через некоторое время после публикации этого вопроса я обнаружил, что 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.

Это решило проблему.

2 голосов
/ 22 октября 2013

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

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

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

1 голос
/ 09 августа 2014

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

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

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

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

при запуске

gem uninstall pg

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

1 голос
/ 29 октября 2013

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

...