0

Rails 3.2 プロジェクトを Macbook にロードしようとしていますが、うまくいきません。経由で Postgres 9.1.4 をインストールしbrewました。/usr/local/binmy の前に配置した後$PATH、コマンド ラインから を介して Postgres にアクセスできるようになりましたpsql

ただし、私のRailsプロジェクトでは、実行すると:

rake db:create:all

次のエラーが表示されます。

could not connect to server: No such file or directory
        Is the server running locally and accepting
        connections on Unix domain socket "/var/pgsql_socket/.S.PGSQL.5432"?

そのファイルは確かに存在しません。それでも、コマンドラインからデータベースにアクセスできますpsql.

なぜその領域を探しているのですか?Postgresの適切な場所(それが何であれ)に見えるようにするにはどうすればよいですか?

4

2 に答える 2

7

これは、Homebrew および Postgres.app のユーザーにとって、OS X システムでは憂鬱なほど一般的です。

Rails 'Pg' gem は、自分でインストールしたバージョンではなく、Apple が一部の Mac OS X バージョンにプレインストールした古い PostgreSQL バージョンに対してコンパイルされます。これは、インストールしたバージョンの前にPATHの Apple バージョンpg_configがインストールされているために発生します。

これらの代替手段のいずれかが機能します。

  • Pg gem を再コンパイルして、正しいものを使用するようlibpqに設定します。これには、コンパイル前にPATH権限がそのpg_config上にあるようにします (最適なオプション)。

  • host: /tmp、またはpsqletcと接続するときに、明示的なソケット ディレクトリを設定します-h /tmp/

  • TCP/IP を使用: host: localhostpsql -h localhostなど。

ここで詳細を見つけることができます:

于 2013-06-07T00:23:35.343 に答える