我正在尝试在我的Macbook上加载Rails 3.2项目,但我遇到了困难。我通过brew
安装了Postgres 9.1.4。将/usr/local/bin
放在$PATH
的前面后,我现在可以通过psql
从命令行进入Postgres。
但是,在我的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的适当位置(无论是什么)?
答案 0 :(得分:7)
对于Homebrew和Postgres.app的用户来说,这在OS X系统上很常见。
你的Rails'Pg'宝石是根据旧的PostgreSQL版本编译的,而这些版本是在某些Mac OS X版本上预先安装的,而不是你自己安装的版本。发生这种情况是因为在您安装的版本之前PATH
上有pg_config
的Apple版本。
任何这些替代方案都可行:
通过设置libpq
重新编译Pg gem以使用正确的PATH
,以便在编译之前使用正确的pg_config
(最佳选项);
当您与host: /tmp
或psql
等-h /tmp/
连接时设置显式套接字目录;
使用TCP / IP:host: localhost
,psql -h localhost
等;
您可以在此处找到更多详细信息:
答案 1 :(得分:0)
检查 database.yml 文件。可能是一个糟糕的配置