未加载库:/usr/local/lib/libpq.5.4.dylib运行耙db:create

我正在使用Rails应用程序。
使用postgresql-9.1.2-1-osx.dmg安装Postgresql
安装了pg gem。
然后当我执行rake db:create获取以下错误 –

/ usr / local / dlopen / LIB / libpq.5.4.dylib

检查/usr/local/lib/libpq.5.4.dylib存在。 它不是。
所以,它应该存在于系统的其他地方,或者我不知道,如果我需要为此安装任何其他软件。

给任何人build议吗?

如果您用自制软件(brew update && brew upgrade)升级了PostgreSQL,那么只需卸载pg gem:

 gem uninstall pg bundle install 

path将被纠正。 无需卸载整个PostgreSQL群集。

切换到PostgresApp并通过删除现有的PostgreSQL版本后,我遇到了这个问题

 brew remove postgres 

我最终通过重新安装PostgreSQL来解决这个问题

 brew install postgres 

我能够通过将以下内容添加到我的.bash_profile中来保留PostgresApp的使用

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

你也可以尝试运行:

 brew doctor 

当它提醒我这个以及一些额外的错误。

这个错误也影响了我使用Paperclip gem的能力,因为它导致ImageMagick失败,并出现相同的错误。

(使用OS X 10.8.2)

在发布这个问题之后的一段时间,我发现libpq.5.4.dylib驻留在/Library/PostgreSQL/9.1/lib/
所以,我创build了以下链接:
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

这就解决了这个问题。

在我的情况下,卸载/重新安装gem没有帮助。 但是我在~/.bash_profile添加了PostgreSQL库path到$DYLD_LIBRARY_PATH环境variables:

 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 

当然要注意PostgreSQLpath中的版本号,本文写作时是9.3。 我在Mac OS X 10.6上使用RVM,Ruby 2.0.0,pg gem 0.17.0。

尝试brew prune ,然后重新安装

这不是对问题的直接回答,而是经常出现

如果您用自制软件升级了PostgreSQL,那么可能会引起两个额外的例子:

  1. 你已经在过去进行一些gem版本的修剪
  2. 你的应用程序是旧的,不能采取最新版本的PG(我有一个轨道2应用程序与0.17失败,几乎杀死服务器:mkmr.log成倍增加…尝试200GB!)

你可能实际上有许多版本的pg依靠

当你跑步

 gem uninstall pg 

如果你有多个版本,系统会询问你想删除哪个版本。 但那个列表可能对你有用! 作为awenkhh的答案的替代品,您可以在那里停下来,重新设置您的gem为可接受的版本