web-dev-qa-db-ja.com

ライブラリがロードされていません:/usr/local/lib/libpq.5.4.dylib

私はRailsアプリに取り組んでいます。
postgresql-9.1.2-1-osx.dmgを使用してPostgresqlをインストールしました
pggemをインストールしました。
次に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が存在するかどうかを確認しました。そうではありません。
したがって、システム内の別の場所に存在する必要があります。そうでない場合、このために他のソフトウェアをインストールする必要があるかどうかはわかりません。

誰かアドバイスしてください?

42
Sathish

この質問を投稿してからしばらくして、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

これで問題は解決しました。

3
Sathish

postgreSQLをhomebrewでアップグレードした場合(brew update && brew upgrade)、pggemをアンインストールするだけです。

gem uninstall pg
bundle install

パスが修正されます。 PostgreSQLクラスター全体をアンインストールする必要はありません。

64
awenkhh

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

それが私にこれといくつかの追加のエラーを警告したので。

このエラーは、ImageMagickが同じエラーで失敗する原因となっていたため、ペーパークリップジェムを使用する能力にも影響を及ぼしていました。

(OS X 10.8.2を使用)

6
Eric Norcross

私の場合、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です。 Mac OS X 10.6でRVM、Ruby 2.0.0、pg gem 0.17.0、を使用しています。

2
Komor

brew Pruneを試してから、再インストールしてください

1

これは質問に対する直接の答えではありませんが、頻繁に発生する可能性があります

PostgreSQLをhomebrewでアップグレードした場合に興味深い可能性のある2つの追加のケース:

  1. あなたは過去に宝石バージョンのいくつかの剪定に進んだことがあります
  2. アプリケーションは古く、最新バージョンのpgを取得できません(Rails 2アプリがpg0.17で失敗し、サーバーをほぼ強制終了します:mkmr.logが指数関数的に増加します... 200GBを試してください! )

あなたは実際に頼るpgの多くのバージョンを持っているかもしれません

あなたが走るとき

gem uninstall pg

複数のバージョンがある場合、システムは削除するバージョンを尋ねます。しかし、そのリストはあなたに役立つかもしれません! awenkhhの答えの代わりに、そこで停止して、宝石を許容可能なバージョンにリセットすることができます

1
Jerome