在OSX上安装PostgreSQL以进行Rails开发

在过去的几天里,我花了几个小时试图让PostgreSQL在我的Mac上与RoR玩得很好。

我已经使用了几种不同的方法,如手动安装PostgreSQL和从各种一键安装程序安装

然而,我尝试的所有不同方法在安装pg gem的最后一步失败了。 很沮丧!

这里有没有人有一个经过试验和测试的教程来完成这项工作? (或者你想在这里写一些说明……?)

我的环境是这样的:Macbook运行OSX 10.6,PostgreSQL 8.4.1服务器

我想我已经找到了一种有效的方法。 我从这篇伟大的post中大量借用了1 ,但由于他们同时安装了许多其他内容,我将在这里为那些正在寻找PostgreSQL安装答案的人写出我所做的。

1 编者注:当我尝试时,链接似乎已经死了。 这是一个吗? http://blog.blackwhale.at/?p=175#PostgreSQL如果是,请修复。

  1. 下载PostgreSQL for Mac并下载’Postgres.app’安装程序。

  2. 为rails开发创建用户(请记住,如果您在开发期间共享应用程序,您可能希望开发团队的所有成员之间使用相同的用户以避免头痛)

    sudo -u postgres /Library/PostgreSQL8/bin/createuser 
  3. 输入您的Mac OS X系统用户名作为角色名称,并使其成为超级用户。

  4. 安装pg gem,以便Rails可以与PostgreSQL交谈

     sudo env PATH=/Library/PostgreSQL8/bin:$PATH gem install pg 
  5. 配置您的rails应用程序与PostgreSQL交谈。 您可以使用以下命令创建新应用程序:

     rails *appname* -d postgresql (for Rails 3 -> rails new *appname* -d postgresql) 

    或者对于现有应用程序,请修改database.yml文件。

这对我有用而没有任何打嗝。 如果有其他人尝试使用这种方法,我会有兴趣听到一些关于它如何适合你的反馈。

在64位Mac(Snow Leopard与Core 2 Duo或更新版本)上,我不得不从源代码编译PostgreSQL,因为rails一直在抱怨:

 *** Your PostgreSQL installation doesn't seem to have an architecture in common with the running ruby interpreter (["ppc", "i386", "x86_64"] vs. []) 

架构不匹配可能是因为我从源代码编译了rails,它默认为64位。 postgresql.org上的二进制安装程序似乎只是一个32位版本。 设置ARCHFLAGS并没有为我解决这个问题。

无论如何,如果你从postgresql.org下载[source] [1]并按照INSTALL文件中的说明操作,那就相当简单了。 如果您使用自己的帐户,则无需创建新用户。 我必须创建sysctl.conf文件来扩展共享内存 – 只需google’postgresql os x sysctl.conf’

老问题,但仍然可能我可以帮助有这个(相当简单)的解决方案:

 gem install pg -- --with-opt-include=/opt/local/include/postgresql84/ --with-opt-lib=/opt/local/lib/postgresql84/ 
  1. 下载并安装MacPorts
  2. 启动终端
  3. sudo port install ruby postgresql83-server rb-postgres rb-gems rb-rails

感谢Ganesh为了好的芒果,我的sudourl看起来有点不同:)这就是我所拥有的
sudo -u postgres /Library/PostgreSQL/9.2/bin/createuser

Ryan Bate 在PostgreSQL上Railscast带您进入使用Homebrew的Mac上进行设置。 非常简单,在OSX 10.6.8上为我工作。