52

我正在开发一个 Rails 应用程序。
使用 postgresql-9.1.2-1-osx.dmg 安装 Postgresql
安装 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存在。它不是。
因此,它应该存在于系统中的其他地方,或者我不知道是否需要为此安装任何其他软件。

请给任何人建议?

4

6 回答 6

87

if you have upgraded

  • PostgreSQL with homebrew (brew update && brew upgrade),
  • macOS (eg. from Catalina to BigSur)

then simply uninstall the pg gem:

gem uninstall pg
bundle install

and the path will be corrected for you. No need to uninstall the whole PostgreSQL cluster.

于 2013-10-10T14:51:56.117 回答
7

在切换到 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)

于 2013-02-22T10:16:10.337 回答
4

在我发布这个问题一段时间后,我发现它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.

这解决了当时的问题。

于 2012-06-07T19:19:59.493 回答
3

就我而言,卸载/重新安装 gem 没有帮助。$DYLD_LIBRARY_PATH但是我在我的环境变量中添加了 PostgreSQL 库路径~/.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。我在 Mac OS X 10.6 上使用 RVM、Ruby 2.0.0、pg gem 0.17.0。

于 2013-10-22T11:26:53.420 回答
2

这不是问题的直接答案,但可能经常出现

如果您使用 homebrew 升级了 PostgreSQL,可能会感兴趣的另外两个案例:

  1. 您过去曾对 gem 版本进行过一些修剪
  2. 您的应用程序较旧,无法使用最新版本的 pg(我有一个 rails 2 应用程序失败,pg 0.17 并且几乎杀死服务器:mkmr.log 呈指数增长......尝试 200GB!)

你实际上可能有很多版本的 pg 可以依赖

当你跑步时

gem uninstall pg

如果您有多个版本,系统会询问您要删除哪个版本。但是该列表可能对您有用!作为 awenkhh 答案的替代方案,您可以停在那里并将您的宝石重置为可接受的版本

于 2014-08-09T18:03:53.800 回答
1

尝试brew prune然后重新安装

于 2013-10-28T22:37:59.240 回答