【问题标题】:Setup Rails 3.1 and Postgresql on Snow Leopard在雪豹上安装 Rails 3.1 和 Postgresql
【发布时间】:2011-12-04 18:16:47
【问题描述】:

我花了无数个小时试图在我的英特尔 Mac 上设置 PostgreSql。

我可以安装 Rails,但我的 Mac 上无法安装除 PostgreSql 之外的所有内容。

任何人有任何解决方案或任何教程,我可以按照它来安装它??

附:我刚开始使用 Mac 作为我的开发机器。我之前一直在使用 Windows!

【问题讨论】:

    标签: ruby-on-rails postgresql ruby-on-rails-3.1 osx-snow-leopard


    【解决方案1】:

    尝试使用Cinderella。这将在~/Developer 的一个漂亮整洁的捆绑包中为您提供整个堆栈(包括 MongoDB、Redis 和一大堆其他东西)。您最好使用所有开发工具的自定义构建,这样您就不必担心系统附带的任何版本以及升级可能会对您的操作系统产生什么影响。

    参考资料:

    【讨论】:

    • 灰姑娘看起来很酷……我以前没见过。感谢您的发帖,我必须检查一下!
    【解决方案2】:

    我在大多数服务器/低级程序安装(PostgreSQL、MySQL 等)中都使用了MacPorts。如果您选择走那条路,那么您可以按照blog post/tutorial 通过 MacPorts 将 PostgreSQL 安装到您的 Mac 上。在 PostgreSQL 链接上需要注意的一件事:跟随时,将 83 的实例更改为 90。例如,您将在他的步骤中看到这一点:

    sudo port install postgresql83 postgresql83-server
    

    您可以改为输入此内容以获取最新版本的 PostgreSQL

    sudo port install postgresql90 postgresql90-server
    

    我还建议使用Navicat for PostgreSQL Lite 之类的程序。管理本地 PostgreSQL 数据库是免费的,而且很好。

    如果您不想使用 MacPorts,有一个类似的替代品,称为 HomeBrew,它非常流行......我只是懒得从 MacPorts 切换:)。

    【讨论】:

      【解决方案3】:

      我很幸运可以直接从网站下载并安装它:

      http://www.postgresql.org/download/macosx

      【讨论】:

        【解决方案4】:

        好的,我必须以全新的心态进行更多研究,现在我可以自己解决问题了。这是解决方案:

        使用此命令安装 Homebrew:

        ruby -e "$(curl -fsSLk https://gist.github.com/raw/323731/install_homebrew.rb)"
        

        安装后在终端中写入:

        brew install postgres
        

        如果这是您的第一次安装(我就是这种情况),则在上述步骤之后在终端中输入:

        $ initdb /usr/local/var/postgres
        

        要启动 postgresql,在终端中输入:

        pg_ctl -D /usr/local/var/postgres -l /usr/local/var/postgres/server.log start
        

        在上述步骤之后输入:

        ps auxwww | grep postgres
        

        如果上述命令在终端中的结果如下所示,则说明 postgresql 已正确安装:

        26000   0.0  0.1  2445860   1556   ??  Ss    1:59AM   0:00.05 postgres: autovacuum launcher process
        25999   0.0  0.0  2445728    512   ??  Ss    1:59AM   0:00.15 postgres: wal writer process
        25998   0.0  0.0  2445728    912   ??  Ss    1:59AM   0:00.21 postgres: writer process  
        
        25996   0.0  0.1  2445728   2508   ??  S     1:59AM   0:00.15 /usr/local/Cellar/postgresql/9.0.4/bin/postgres -D /usr/local/var/postgres
        
        26257   0.0  0.0  2435548      0 s000  R+    2:19AM   0:00.00 grep postgres
        

        创建用户和数据库:

        createuser username
        
        createdb -Ousername -Eutf8 databasename
        

        要登录到 postgresql 使用这个命令:

        psql -U username databasename
        

        如果您将它与 rails 一起使用,您可以像这样安装 gem:

        sudo env ARCHFLAGS="-arch x86_64" gem install --no-ri --no-rdoc pg
        

        如果您想停止 PostgreSQL 服务,请使用此命令:

        pg_ctl -D /usr/local/var/postgres stop -s -m fast
        

        希望这将帮助其他人节省像我一样通过不同资源获得解决方案的时间:)

        【讨论】:

          【解决方案5】:

          要添加到您的说明中的其他一些注释:

          Russ Brooks Blog on installation 上有一篇很好的帖子,它验证了您上面的大部分内容。

          pgadmin.org 提供了一组管理工具,可让您通过 Mac 上的简单 GUI 浏览数据库

          如果您使用管理工具,您应该安装带有以下内容的检测包:

          psql -d postgres < /usr/local/Cellar/postgresql/9.0.4/share/postgresql/contrib/adminpack.sql
          

          确切的命令显然取决于您使用的 postgresql 版本。

          如果您将 postgres 与 rails 和 bundler 一起使用,请确保“pg”gem 在您的 gem 文件中,并在添加后立即使用以下命令运行 bundler:

          env ARCHFLAGS="-arch x86_64" bundle install
          

          这将与您上面的“gem install”命令相同。首次运行后,您不再需要在运行 bundler 时使用 'env ARCHFLAGS="-arch x86_64"'。

          【讨论】:

          • CREATE EXTENSION adminpack 是在较新的(9.2 等)PostgreSQL 安装上执行此操作的方法。
          猜你喜欢
          • 2010-12-30
          • 2010-11-30
          • 2010-12-09
          • 2011-03-18
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2010-12-24
          相关资源
          最近更新 更多