【问题标题】:Postgresql not working with ruby on rails on mac os xPostgresql 无法在 mac os x 上使用 ruby​​ on rails
【发布时间】:2010-01-10 18:37:21
【问题描述】:

我刚切换到 mac,我之前在 Linux 上工作。 我正在尝试将 posgresql 用于我的项目

当我启动服务器时,它工作正常。

尽管如此,当我使用 rake:db:migrate 时,它​​会说: 请安装 postgresql 适配器:gem install activerecord-postgresql-adapter(没有要加载的文件--pg)

我安装了 gem "pg",但没有像 activerecord-postgresql-adapter 这样的 gem。

我觉得奇怪的是,当我执行 ./script/server 时它可以工作,但当我执行 rake:db:migrate 时却不行

感谢

【问题讨论】:

    标签: ruby-on-rails postgresql macos


    【解决方案1】:

    检查以确保您始终以 root 身份安装 gem。如果您将 pg 安装到 ~/.gems/ruby/1.8/gems(或类似)中,您可能会遇到此(或类似)问题。

    (关于 Andrew 的答案的附加信息,差不多。)

    【讨论】:

    • 我认为它实际上是活动记录 gem,它安装到我的本地用户目录中,而不是作为 root 用户。非常感谢。
    【解决方案2】:

    pg 是 activerecord-postgresql-adapter gem,所以它没有找到。

    由于迁移只是失败,可能是 rake 是从与控制台或脚本不同的 ruby​​ 版本开始的 - 你有多个 ruby​​ 版本吗?

    另外,因为它在 rake 中失败,我会得到详细的 (-v) 输出,这样你就可以看到堆栈跟踪,更好地了解正在发生的事情,以及它在什么时候尝试获取 pg 但没有可用的宝石。我发现 rake 加载的顺序与 rails 启动的顺序不同,所以这并非不可能。

    最近有一个插件声称可以帮助在 Rails 中进行 pg 迁移,可能会有所帮助: http://github.com/alex3t/rails_on_pg

    如果我上面的猜测完全没有帮助,这里有一些其他地方可以看看:

    pg的项目页面: https://rubyforge.org/projects/ruby-pg/

    更多 postgres on rails 支持: http://wiki.rubyonrails.org/database-support/postgres

    Robby Russell 写的关于 postgres 的文章比我读过的任何其他 Rails 博主都多: http://www.robbyonrails.com/articles/tag/postgresql

    【讨论】:

    • 我想得越多,我敢打赌你是从端口安装 rails/ruby 的,但不是 rake,因此这些可执行文件的不同版本在不同的目录中。试试这个,看看它们是否都在同一个目录中:which gem ruby​​ rake 另外,这个家伙使用 robby 在 RoR 和 postgres 上的帖子,在 os x 上让它工作:joshkim.org/2009/02/15/postgresql-ruby-and-rails-win
    【解决方案3】:

    您可能需要安装以下一项或多项

    • pkg postgresql
    • pkg postgresql-devel
    • 宝石 pg

    【讨论】:

      【解决方案4】:

      我刚刚在 Linux 上遇到了这个问题。就我而言,权限错误:/usr/lib/ruby/gems/1.8/gems/pg-0.9.0 设置为 700。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2020-05-11
        • 2012-02-19
        • 2013-04-28
        • 2012-03-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多