在heroku上使用rails 3 app中的mongrel 1.2.0.pre2时出错

时间:2011-09-10 07:45:03

标签: ruby-on-rails-3 heroku mongrel

我正在通过谷歌进行身份验证并收到request too long错误,所以在一些研究中我添加了mongrel gem。这修复了我本地计算机上的request too long错误。

然而,现在当我推送到heroku时,我不断得到以下错误

  

您已经激活了守护进程1.1.0,但您的Gemfile需要   守护进程1.0.10。考虑使用bundle exec。 (GEM :: LoadError)

的Gemfile:

gem 'pg'
gem 'compass', '>= 0.11.5'
gem 'fancy-buttons'
gem 'haml', '3.1'
gem "nifty-generators", :group=>:development
gem "bcrypt-ruby", :require => "bcrypt"
gem "jquery-rails"
gem "devise"
gem "omniauth"
gem 'oa-openid', :require => 'omniauth/openid'
gem 'mongrel', '1.2.0.pre2'

也许从杂项文件中取出杂项可能会解决手头的问题,但是当我从谷歌进行身份验证时,我会再次“请求太长时间”错误。

这有解决方法吗?我应该使用不同的版本吗?如果是这样......哪个?

我在本地运行bundle exec,即使heroku在部署之前运行它们。

4 个答案:

答案 0 :(得分:0)

尝试运行bundle update daemons

答案 1 :(得分:0)

关注advice我在heroku堆栈上迁移了ruby版本:heroku stack:migrate bamboo-ree-1.8.7。我不得不通过提交一个临时文件来“欺骗”git来推动这一变化 - 毫无疑问,有更好的方法可以做到这一点!

答案 2 :(得分:0)

听起来你只在你的本地机器上遇到问题,而不是在Heroku部署时出现问题,对吗?

Heroku使用Thin作为网络服务器,我也强烈建议在本地使用。

Mongrel从未真正跳转到Rails 3.x.而默认的Web服务器Webrick并不是真正的行业优势,如果它有“请求太久”等怪癖,我也不会感到惊讶。

thin gem添加到Gemfile

按如下方式启动服务器:

rails s thin

你应该巡航。瘦也可以更快启动并处理多个连接。

答案 3 :(得分:0)

我认为这里有3个问题:

  1. 你正在使用Mongrel,因为@Wolfram提到这不是一个好主意。将Thin添加到您的Gemfile中,将其捆绑,然后将其与“rails s thin”

  2. 一起使用
  3. 你可能在Gem版本中做了一个小模块,它说你已经激活了一个版本然后你激活了另一个版本。不要忘记捆绑安装然后推送

  4. 也许最好不仅要更新Bamboo堆栈,还要将Cedar与“heroku create --stack cedar”一起使用。