5

OS X (10.8.3) でPostgres.appを使用しています。アプリのフォルダーが他のすべてPATHのフォルダーよりも前になるように変更しました。bin

Rammy:~ phrogz$ which pg_config
/Applications/Postgres.app/Contents/MacOS/bin/pg_config

rvm がインストールされており、pg gem をエラーなしでインストールできますが、require を実行するとエラーが発生します。

Rammy:~ phrogz$ gem -v
1.8.25

Rammy:~ phrogz$ gem install pg
Fetching: pg-0.15.1.gem (100%)
Building native extensions.  This could take a while...
Successfully installed pg-0.15.1
1 gem installed

Rammy:~ phrogz$ ruby -v -e "require 'pg'"
ruby 1.9.3p392 (2013-02-22 revision 39386) [x86_64-darwin12.3.0]
/Users/phrogz/.rvm/rubies/ruby-1.9.3-p392/lib/ruby/site_ruby/1.9.1/rubygems/custom_require.rb:36:in `require': dlopen(/Users/phrogz/.rvm/gems/ruby-1.9.3-p392/gems/pg-0.15.1/lib/pg_ext.bundle, 9): Library not loaded: @executable_path/../lib/libssl.1.0.0.dylib (LoadError)
  Referenced from: /Applications/Postgres.app/Contents/MacOS/lib/libpq.dylib
  Reason: image not found - /Users/phrogz/.rvm/gems/ruby-1.9.3-p392/gems/pg-0.15.1/lib/pg_ext.bundle
    from /Users/phrogz/.rvm/rubies/ruby-1.9.3-p392/lib/ruby/site_ruby/1.9.1/rubygems/custom_require.rb:36:in `require'
    from /Users/phrogz/.rvm/gems/ruby-1.9.3-p392/gems/pg-0.15.1/lib/pg.rb:4:in `<top (required)>'
    from /Users/phrogz/.rvm/rubies/ruby-1.9.3-p392/lib/ruby/site_ruby/1.9.1/rubygems/custom_require.rb:60:in `require'
    from /Users/phrogz/.rvm/rubies/ruby-1.9.3-p392/lib/ruby/site_ruby/1.9.1/rubygems/custom_require.rb:60:in `rescue in require'
    from /Users/phrogz/.rvm/rubies/ruby-1.9.3-p392/lib/ruby/site_ruby/1.9.1/rubygems/custom_require.rb:35:in `require'
    from -e:1:in `<main>'

pggem を適切にインストールするにはどうすればよいですか?

4

4 に答える 4

4

編集:現在、この回答には受け入れられた回答よりも多くの票がありますが、受け入れられた回答ははるかにシンプルでクリーンです。


gemをインストールするときに Postgres.app バイナリをパスから削除し、pg代わりに OS X に組み込まれている postgres install を使用して gem を構成します。ライブラリは、pg後で Postgres.app サーバーに正しく接続します。

Rammy:~ phrogz$ gem uninstall pg
Successfully uninstalled pg-0.15.1

# Modify PATH to remove /Applications/Postgres.app/Contents/MacOS/bin

Rammy:~ phrogz$ gem install pg
Fetching: pg-0.15.1.gem (100%)
Building native extensions.  This could take a while...
Successfully installed pg-0.15.1
1 gem installed

Rammy:~ phrogz$ ruby -v -e "require 'pg'"
ruby 1.9.3p392 (2013-02-22 revision 39386) [x86_64-darwin12.3.0]
于 2013-05-09T02:41:36.973 に答える
1

これは私のために働いた:

sudo env ARCHFLAGS="-arch x86_64" gem install pg -- --with-pg-config=/Applications/Postgres93.app/Contents/MacOS/bin/pg_config

/Applications/Postgres93.app.. パスが存在することを再確認してください。

于 2015-02-01T11:57:08.163 に答える
1

問題は、gem を Postgres.app にリンクすることです。osxに同梱されているpostgresバージョンにリンクすると

ここに小さなスクリプトがあります:

  • プロジェクトの gemsets でrvmを使用している場合: プロジェクトに変更します。
  • 次のコマンドを実行します。

    gem uninstall pg
    
    PATH=${PATH/'Postgres.app'/'WRONGFOLDER.app'}
    gem install pg
    PATH=${PATH/'WRONGFOLDER.app'/'Postgres.app'}
    
  • 今、すべてがうまくいくはずです

于 2013-05-13T17:30:51.350 に答える