私は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
が存在するかどうかを確認しました。そうではありません。
したがって、システム内の別の場所に存在する必要があります。そうでない場合、このために他のソフトウェアをインストールする必要があるかどうかはわかりません。
誰かアドバイスしてください?
この質問を投稿してからしばらくして、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
。
これで問題は解決しました。
postgreSQLをhomebrewでアップグレードした場合(brew update && brew upgrade)、pggemをアンインストールするだけです。
gem uninstall pg
bundle install
パスが修正されます。 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
それが私にこれといくつかの追加のエラーを警告したので。
このエラーは、ImageMagickが同じエラーで失敗する原因となっていたため、ペーパークリップジェムを使用する能力にも影響を及ぼしていました。
(OS X 10.8.2を使用)
私の場合、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、を使用しています。
brew Prune
を試してから、再インストールしてください
これは質問に対する直接の答えではありませんが、頻繁に発生する可能性があります
PostgreSQLをhomebrewでアップグレードした場合に興味深い可能性のある2つの追加のケース:
あなたは実際に頼るpgの多くのバージョンを持っているかもしれません
あなたが走るとき
gem uninstall pg
複数のバージョンがある場合、システムは削除するバージョンを尋ねます。しかし、そのリストはあなたに役立つかもしれません! awenkhhの答えの代わりに、そこで停止して、宝石を許容可能なバージョンにリセットすることができます