Ошибка при использовании mongrel 1.2.0.pre2 в приложении rails 3 на heroku - PullRequest
5 голосов
/ 10 сентября 2011

Я выполняю аутентификацию от 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 может решить проблему под рукой, но тогда я снова получу ошибку 'request too long'при аутентификации от гугла.

Есть ли обходной путь к этому?Должен ли я использовать другую версию?Если так ... что?

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

Ответы [ 4 ]

0 голосов
/ 13 апреля 2012

Я думаю, что 3 проблемы здесь:

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

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

  3. Может быть, лучше не только обновлять стек бамбука, но и использовать кедр с "heroku create --stack cedar.

0 голосов
/ 29 ноября 2011

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

0 голосов
/ 19 января 2012

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

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

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

Добавьте камень thin к вашему Gemfile.

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

rails s thin

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

0 голосов
/ 10 сентября 2011

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

...