2012-02-07 7 views
18

Ruby 1.9.2、Rails 3、postgreSQL 8.3を実行しているアプリがあります。もともとPostgreSQL 9.1を使ってセットアップしていましたが、9.1をアンインストールしてインストールし、8.3に変更してHeroku共有データベース設定の互換性を保証しました。これは、[OK]を実行していたが、私は、データベースのアップグレードを実行したときに、私はこのエラーを取得、このアプリで作業するときには、今、今Ruby on Rails/PostgreSQL - サーバ起動時にライブラリがロードされないというエラー - libq.5.dylib

ではありません。

dlopen(/Users/michaeljmccoy/.rvm/gems/ruby-1.9.2-p290/gems/pg-0.12.2/lib/pg_ext.bundle, 9): Library not loaded: libpq.5.dylib 
    Referenced from: /Users/michaeljmccoy/.rvm/gems/ruby-1.9.2-p290/gems/pg-0.12.2/lib/pg_ext.bundle 
    Reason: no suitable image found. Did find: 
    /usr/lib/libpq.5.dylib: no matching architecture in universal wrapper - /Users/michaeljmccoy/.rvm/gems/ruby-1.9.2-p290/gems/pg-0.12.2/lib/pg_ext.bundle 

をそして私は、私はこれを取得、サーバーを実行しようとすると、エラーメッセージ:

/Users/michaeljmccoy/.rvm/gems/ruby-1.9.2-p290/gems/pg-0.12.2/lib/pg.rb:4:in `require': dlopen(/Users/michaeljmccoy/.rvm/gems/ruby-1.9.2-p290/gems/pg-0.12.2/lib/pg_ext.bundle, 9): Library not loaded: libpq.5.dylib (LoadError) 
    Referenced from: /Users/michaeljmccoy/.rvm/gems/ruby-1.9.2-p290/gems/pg-0.12.2/lib/pg_ext.bundle 
    Reason: no suitable image found. Did find: 
    /usr/lib/libpq.5.dylib: no matching architecture in universal wrapper - /Users/michaeljmccoy/.rvm/gems/ruby-1.9.2-p290/gems/pg-0.12.2/lib/pg_ext.bundle 
    from /Users/michaeljmccoy/.rvm/gems/ruby-1.9.2-p290/gems/pg-0.12.2/lib/pg.rb:4:in `<top (required)>' 
    from /Users/michaeljmccoy/.rvm/gems/[email protected]/gems/bundler-1.0.21/lib/bundler/runtime.rb:68:in `require' 
    from /Users/michaeljmccoy/.rvm/gems/[email protected]/gems/bundler-1.0.21/lib/bundler/runtime.rb:68:in `block (2 levels) in require' 
    from /Users/michaeljmccoy/.rvm/gems/[email protected]/gems/bundler-1.0.21/lib/bundler/runtime.rb:66:in `each' 
    from /Users/michaeljmccoy/.rvm/gems/[email protected]/gems/bundler-1.0.21/lib/bundler/runtime.rb:66:in `block in require' 
    from /Users/michaeljmccoy/.rvm/gems/[email protected]/gems/bundler-1.0.21/lib/bundler/runtime.rb:55:in `each' 
    from /Users/michaeljmccoy/.rvm/gems/[email protected]/gems/bundler-1.0.21/lib/bundler/runtime.rb:55:in `require' 
    from /Users/michaeljmccoy/.rvm/gems/[email protected]/gems/bundler-1.0.21/lib/bundler.rb:122:in `require' 
    from /Users/michaeljmccoy/www/mikemccoy/config/application.rb:7:in `<top (required)>' 
    from /Users/michaeljmccoy/.rvm/gems/ruby-1.9.2-p290/gems/railties-3.2.0.rc2/lib/rails/commands.rb:53:in `require' 
    from /Users/michaeljmccoy/.rvm/gems/ruby-1.9.2-p290/gems/railties-3.2.0.rc2/lib/rails/commands.rb:53:in `block in <top (required)>' 
    from /Users/michaeljmccoy/.rvm/gems/ruby-1.9.2-p290/gems/railties-3.2.0.rc2/lib/rails/commands.rb:50:in `tap' 
    from /Users/michaeljmccoy/.rvm/gems/ruby-1.9.2-p290/gems/railties-3.2.0.rc2/lib/rails/commands.rb:50:in `<top (required)>' 
    from script/rails:6:in `require' 
    from script/rails:6:in `<main>' 

私は非常に似たエラーであり、おそらく欠落しているパスと関係があると思います。しかし、.profileファイルにパスを追加してターミナルウィンドウを再起動すると、同じエラーが発生します。

+0

あなたの 'PATH'は、シェルが実行可能ファイルを探す場所を制御します。 'LD_LIBRARY_PATH'は、シェルがライブラリを探す場所を制御します。つまり、あなたのpgの宝石は、あなたが今持っているものとは異なるPostgreSQLライブラリのバージョンに対してコンパイルされたように見えます。おそらく、pgを再インストールするだけです。 –

+0

私は現在のpg gemを削除して再インストールしようとしていますが、postgresライブラリが見つからないというよくあるエラーが出ています。ここで私は見ていますものです:/Library/PostgreSQL/8.3/bin/pg_config のlibpq-fe.hのチェックから設定値を使用してはpg_configをチェック 」...はい ...はい のlibpq/libpqのためにチェック-fs.h ... yes pg_config_manual.hをチェックしています。yes -lpq ...でnoを確認します。 -llibpq ...でPQconnectdb()をチェックしていません。 PQconnectdb()を確認します。 in -lms/libpq ... no PostgreSQLクライアントライブラリ(libpq)を見つけることができません *** extconf.rbが失敗しました*** –

+1

私は過去にこの問題を解決しなければならないことを覚えていました。宝石ビルダに手動でフラグを与えて、ヘッダとライブラリを探す場所を指定する必要があります私はすぐに情報を手に入れることはできません。 –

答えて

35

pg gemを削除して再インストールする必要があるかもしれません。正しいバージョンのPostgresに対してコンパイルされます。

+0

ちょうどこの問題に遭遇しましたが、これは完全に機能しました! –

+1

これで問題が解決しない場合は、次の質問をご覧ください:http://stackoverflow.com/questions/15512137/ruby-on-rails-postgresql-library-not-loaded-error-when-starting-server –

+0

このソリューションはDjangoでも動作し、virtualenvにpsycopg2を再インストールするだけです。 – Pietro

4

誰もがこのエラーを見て、PostgresAppを実行しているため、これはバージョン9.2.4.3で修正された既知の問題です:

ディスカッション:https://github.com/PostgresApp/PostgresApp/issues/109

インストーラ:もちろんhttps://github.com/PostgresApp/PostgresApp/releases/tag/9.2.4.3

、あなたは可能性がありちょうど最新のバージョン(http://postgresapp.com/)をつかみなさい。どちらのバージョンでも、私はRails 3.2.14とRuby 2.0.0でバックアップして稼働させてくれました。しかし、私が9.2.4.3をインストールしたとき、私のデータベースは依然としてpsqlにリストされていましたが、9.3.0(現時点では現在のバージョン)をインストールすると、私のデータベースはもはやリストされませんでした。

関連する問題