未加载库:/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,那么可能会引起两个额外的例子:
- 你已经在过去进行一些gem版本的修剪
- 你的应用程序是旧的,不能采取最新版本的PG(我有一个轨道2应用程序与0.17失败,几乎杀死服务器:mkmr.log成倍增加…尝试200GB!)
你可能实际上有许多版本的pg依靠
当你跑步
gem uninstall pg
如果你有多个版本,系统会询问你想删除哪个版本。 但那个列表可能对你有用! 作为awenkhh的答案的替代品,您可以在那里停下来,重新设置您的gem为可接受的版本