Ошибка при использовании mongrel 1.2.0.pre2 в приложении rails 3 на heroku

Я выполняю аутентификацию в Google и получаю request too long ошибку, поэтому после некоторых исследований я добавил mongrel драгоценный камень. Это устранило ошибку request too long на моем локальном компьютере.

Однако теперь, когда я нажимаю на heroku, я постоянно получаю ошибку ниже

Вы уже активировали демонов 1.1.0, но для вашего Gemfile требуются демоны 1.0.10. Рассмотрите возможность использования пакета 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'

Возможно, удаление mongrel из gemfile может решить проблему, но тогда у меня снова будет ошибка «слишком длинный запрос» при аутентификации из Google.

Есть ли способ обойти это? Стоит ли использовать другую версию? Если да ... какой?

Я запустил bundle exec локально, хотя heroku запускает это на своей стороне перед развертыванием.


person Omnipresent    schedule 10.09.2011    source источник


Ответы (4)


Попробуйте запустить bundle update daemons

person dexter    schedule 10.09.2011
comment
Эта команда обновит Gemfile.lock, а Heroku обнаружит изменение и переустановит драгоценные камни при нажатии. - person dexter; 10.09.2011
comment
все та же ошибка. You have already activated daemons 1.1.0, but your Gemfile requires daemons 1.0.10. Consider using bundle exec. (Gem::LoadError) - person Omnipresent; 10.09.2011

Следуя совету , я перенес рубиновые версии в стек heroku: heroku stack:migrate bamboo-ree-1.8.7. Мне пришлось «обмануть» git, заставив его продвинуть это изменение, зафиксировав временный файл - без сомнения, есть лучший способ сделать это!

person RobinGower    schedule 29.11.2011

Похоже, у вас проблема только на вашем локальном компьютере, а не на Heroku, когда он развернут, верно?

Heroku использует Thin в качестве веб-сервера, и я также настоятельно рекомендую это сделать на местном уровне.

Mongrel так и не перешел на Rails 3.x. А веб-сервер по умолчанию, Webrick, на самом деле не является сильной стороной отрасли, и я не удивлюсь, если у него есть такие причуды, как «слишком длинный запрос» и т. Д.

Добавьте драгоценный камень thin в свой Gemfile.

Запускаем сервер следующим образом:

rails s thin

И тебе следует отправиться в круиз. Thin также быстрее запускается и обрабатывает несколько подключений.

person Wolfram Arnold    schedule 19.01.2012

Думаю, тут 3 проблемы:

  1. вы используете Mongrel, поскольку @Wolfram упомянул, что это не очень хорошая идея. Добавьте Thin в свой Gemfile, соберите его, затем используйте с "rails s thin"

  2. Вы, вероятно, сделали небольшой мод в версии Gem, и в нем говорится, что вы активировали версию, а затем активировали другую. Не забудьте установить пакет и нажать на него

  3. Возможно, лучше не только обновить стек Bamboo, но и использовать Cedar с "heroku create --stack cedar".

person YogiZoli    schedule 13.04.2012