我正在通过谷歌进行身份验证并收到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在部署之前运行它们。
答案 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个问题:
你正在使用Mongrel,因为@Wolfram提到这不是一个好主意。将Thin添加到您的Gemfile中,将其捆绑,然后将其与“rails s thin”
你可能在Gem版本中做了一个小模块,它说你已经激活了一个版本然后你激活了另一个版本。不要忘记捆绑安装然后推送
也许最好不仅要更新Bamboo堆栈,还要将Cedar与“heroku create --stack cedar”一起使用。