【问题标题】:Rails app on thinRails 应用程序瘦身
【发布时间】:2011-01-27 05:52:35
【问题描述】:

我正在尝试在 Thin 上运行 Rails 应用程序。

我按照这个教程http://www.funonrails.com/2010/03/nginx-and-thin-installation-and.html

做完之后 sudo 服务瘦启动

以下是瘦日志文件中的错误

/usr/lib/ruby/gems/1.8/gems/bundler-1.0.7/lib/bundler/source.rb:552:in load_spec_files': @987654322@_paginate.git (at rails3) is not checked out. Please runbundle install` (Bundler::GitError)

我已经运行了bundle install,并且运行成功了。同一个应用上的杂种服务器运行良好。

可能是什么问题。

【问题讨论】:

  • 我宁愿不以 root 身份运行 rails app。 Nginx 就足够了 - Thin 可能正在监听非特权端口。这样会安全得多。

标签: ruby-on-rails thin


【解决方案1】:

您的问题可能是您正在运行sudo service thin start。这现在使用 ruby​​ 的 root 环境而不是您的普通用户。因此,在 root ruby​​ 环境捆绑器中找不到您作为非特权用户安装的 gem。

要证明是这种情况,请尝试运行 ./script/server thinrails server thin 来验证这一点。

【讨论】:

    【解决方案2】:

    问题在于 bundler 将 gem 安装到您的 ~/.bundle 中。当您以 root 身份运行 bundler 时,乘客将无法在 /root/.bundle 中找到 gem。

    解决方案很简单:bundle install .bundle 会将 gem 安装到 ./.bundle,它应该是您的 rails 根目录。

    【讨论】:

      【解决方案3】:

      我唯一能想到的是,可能您在一个系统上有两个不同的 rubies,而其中一个正在使用的 rubies 没有在其上运行 bundle install。

      【讨论】:

        猜你喜欢
        • 2017-01-16
        • 1970-01-01
        • 1970-01-01
        • 2012-07-20
        • 1970-01-01
        • 1970-01-01
        • 2018-07-09
        • 1970-01-01
        • 2020-06-15
        相关资源
        最近更新 更多