Сбой приложения Heroku - сообщает об ошибке в драгоценном камне ActiveSupport

У меня проблемы с запуском моего приложения на Heroku — приложение отлично работает на моей локальной машине. :( Журналы сообщают о какой-то проблеме с моим камнем ActiveSupport. Итак, я принял следующие меры:

1) Переустановил гем ActiveSupport 2) Откатил мою фиксацию Git до предыдущей, которая работала нормально. 3) Скопировал мое приложение в новую папку - создал новый репозиторий Git, сделал bundle install в новой папке, сделал коммиты, добавил удаленный источник Heroku, отправил приложение в Heroku - не помогло.

Моя версия Rails: 3.0.3 Руби: 1.8.7

Вот мой журнал Heroku (обновлено)

Удивительно, но я получаю 1.9.1 после ./bundle/gems/ruby/1.9.1, тогда как проект использует Ruby 1.8.7. Любые идеи, как я могу это исправить?

    2011-07-08T00:42:53+00:00 app[web.1]: /app/.bundle/gems/ruby/1.9.1/gems/activesupport-3.0.3/lib/active_support/dependencies.rb:304:in `rescue in depend_on': No such file to load -- errors_helper (LoadError)
2011-07-08T00:42:53+00:00 app[web.1]:   from /app/.bundle/gems/ruby/1.9.1/gems/activesupport-3.0.3/lib/active_support/dependencies.rb:299:in `depend_on'
2011-07-08T00:42:53+00:00 app[web.1]:   from /app/.bundle/gems/ruby/1.9.1/gems/activesupport-3.0.3/lib/active_support/dependencies.rb:216:in `require_dependency'
2011-07-08T00:42:53+00:00 app[web.1]:   from /app/.bundle/gems/ruby/1.9.1/gems/railties-3.0.3/lib/rails/engine.rb:138:in `block (2 levels) in eager_load!'
2011-07-08T00:42:53+00:00 app[web.1]:   from /app/.bundle/gems/ruby/1.9.1/gems/railties-3.0.3/lib/rails/engine.rb:137:in `each'
2011-07-08T00:42:53+00:00 app[web.1]:   from /app/.bundle/gems/ruby/1.9.1/gems/railties-3.0.3/lib/rails/engine.rb:137:in `block in eager_load!'
2011-07-08T00:42:53+00:00 app[web.1]:   from /app/.bundle/gems/ruby/1.9.1/gems/railties-3.0.3/lib/rails/engine.rb:135:in `each'
2011-07-08T00:42:53+00:00 app[web.1]:   from /app/.bundle/gems/ruby/1.9.1/gems/railties-3.0.3/lib/rails/engine.rb:135:in `eager_load!'
2011-07-08T00:42:53+00:00 app[web.1]:   from /app/.bundle/gems/ruby/1.9.1/gems/railties-3.0.3/lib/rails/application.rb:108:in `eager_load!'
2011-07-08T00:42:53+00:00 app[web.1]:   from /app/.bundle/gems/ruby/1.9.1/gems/railties-3.0.3/lib/rails/application/finisher.rb:41:in `block in <module:Finisher>'
2011-07-08T00:42:53+00:00 app[web.1]:   from /app/.bundle/gems/ruby/1.9.1/gems/railties-3.0.3/lib/rails/initializable.rb:25:in `instance_exec'
2011-07-08T00:42:53+00:00 app[web.1]:   from /app/.bundle/gems/ruby/1.9.1/gems/railties-3.0.3/lib/rails/initializable.rb:25:in `run'
2011-07-08T00:42:53+00:00 app[web.1]:   from /app/.bundle/gems/ruby/1.9.1/gems/railties-3.0.3/lib/rails/initializable.rb:50:in `block in run_initializers'
2011-07-08T00:42:53+00:00 app[web.1]:   from /app/.bundle/gems/ruby/1.9.1/gems/railties-3.0.3/lib/rails/initializable.rb:49:in `each'
2011-07-08T00:42:53+00:00 app[web.1]:   from /app/.bundle/gems/ruby/1.9.1/gems/railties-3.0.3/lib/rails/initializable.rb:49:in `run_initializers'
2011-07-08T00:42:53+00:00 app[web.1]:   from /app/.bundle/gems/ruby/1.9.1/gems/railties-3.0.3/lib/rails/application.rb:134:in `initialize!'
2011-07-08T00:42:53+00:00 app[web.1]:   from /app/.bundle/gems/ruby/1.9.1/gems/railties-3.0.3/lib/rails/application.rb:77:in `method_missing'
2011-07-08T00:42:53+00:00 app[web.1]:   from /app/config/environment.rb:5:in `<top (required)>'
2011-07-08T00:42:53+00:00 app[web.1]:   from <internal:lib/rubygems/custom_require>:29:in `require'
2011-07-08T00:42:53+00:00 app[web.1]:   from <internal:lib/rubygems/custom_require>:29:in `require'
2011-07-08T00:42:53+00:00 app[web.1]:   from config.ru:3:in `block (3 levels) in <main>'
2011-07-08T00:42:53+00:00 app[web.1]:   from /home/heroku_rack/heroku.ru:23:in `eval'
2011-07-08T00:42:53+00:00 app[web.1]:   from /home/heroku_rack/heroku.ru:23:in `block (3 levels) in <main>'
2011-07-08T00:42:53+00:00 app[web.1]:   from /app/.bundle/gems/ruby/1.9.1/gems/rack-1.2.3/lib/rack/builder.rb:46:in `instance_eval'
2011-07-08T00:42:53+00:00 app[web.1]:   from /app/.bundle/gems/ruby/1.9.1/gems/rack-1.2.3/lib/rack/builder.rb:46:in `initialize'
2011-07-08T00:42:53+00:00 app[web.1]:   from /app/.bundle/gems/ruby/1.9.1/gems/rack-1.2.3/lib/rack/builder.rb:63:in `new'
2011-07-08T00:42:53+00:00 app[web.1]:   from /app/.bundle/gems/ruby/1.9.1/gems/rack-1.2.3/lib/rack/builder.rb:63:in `map'

person Jasdeep Singh    schedule 07.07.2011    source источник


Ответы (2)


Если вы используете Rails 3x, вам следует использовать rubygems 1.9.2, а не 1.8.7. Также убедитесь, что у вас есть правильная версия рельсов, объявленная в вашем окружении.rb, если вы используете рельсы 2x, а также ваш Gemfile.

Итак, для проекта rails 2x

окружающая среда.rb

RAILS_GEM_VERSION = '2.3.8' unless defined? RAILS_GEM_VERSION

Gemfile

gem 'rails', '2.3.8'

и для рельсов 3x проекта

Gemfile

gem 'rails', '3.0.7'

Таким образом, heroku знает, какую версию рельсов загружать под какие наборы драгоценных камней. Ты должен быть способен

git push heroku master

если все уладится

person Chris Barretto    schedule 08.07.2011
comment
Привет, Крис, я уже определил это в соответствующих файлах. - person Jasdeep Singh; 08.07.2011
comment
в качестве примечания: Rails 3.x отлично работает на Ruby 1.8.7 — Ruby 1.9.2 не является требованием для Rails 3.x. - person John Beynon; 08.07.2011

Хорошо, я исправил эту вещь. И мне хочется броситься за это с самого высокого здания в мире. Я боролся с этим с прошлой недели.

В моем каталоге app/helpers был файл с именем errors_helper.rb, который, к сожалению, был назван errors_helper.rb.rb.

Изменение расширения имени решило мою проблему!

person Jasdeep Singh    schedule 08.07.2011
comment
У меня возникла та же проблема, и я не смог найти файл errors_helper.rb.rb . Я думаю, что что-то не так, что не связано с неправильным именем файла. Это может быть связано с конфликтом Rails и ruby ​​gems. - person Sokmesa Khiev; 23.04.2012
comment
Если вы еще не поняли - это была проблема, которая возникала только в моем окружении. У вас может быть какая-то другая проблема. Если вы были саркастичны - вы были недостаточно саркастичны. - person Jasdeep Singh; 15.05.2012