Rails 3.2, предупреждение об устаревании Heroku - ПРЕДУПРЕЖДЕНИЕ ОБ УСТАРЕНИИ: у вас есть плагины в стиле Rails 2.3 [дубликаты]

Возможный дубликат:
Плагины в стиле Rails 2.3 и предупреждения об устаревании запуска задачи в Heroku

Несколько дней назад я решил обновить свое приложение Rails 3.1 до Rails 3.2. На моем локальном компьютере все работает хорошо, как в рабочей среде, так и в среде разработки. Когда я отправляю приложение в Heroku, я получаю сообщение об ошибке, и приложение вылетает.

Сообщение об ошибке:

2012-01-31T11:36:18+00:00 app[web.1]: DEPRECATION WARNING: You have Rails 2.3-style plugins in vendor/plugins! Support for these plugins will be removed in Rails 4.0. Move them out and bundle them in your Gemfile, or fold them in to your app as lib/myplugin/* and config/initializers/myplugin.rb. See the release notes for more on this: http://weblog.rubyonrails.org/2012/01/04/rails-3-2-0-rc2-has-been-released. (called from <top (required)> at /app/config/environment.rb:5)
2012-01-31T11:36:18+00:00 app[web.1]: DEPRECATION WARNING: You have Rails 2.3-style plugins in vendor/plugins! Support for these plugins will be removed in Rails 4.0. Move them out and bundle them in your Gemfile, or fold them in to your app as lib/myplugin/* and config/initializers/myplugin.rb. See the release notes for more on this: http://weblog.rubyonrails.org/2012/01/04/rails-3-2-0-rc2-has-been-released. (called from <top (required)> at /app/config/environment.rb:5)
2012-01-31T11:36:19+00:00 app[web.1]: => Call with -d to detach
2012-01-31T11:36:19+00:00 app[web.1]: => Booting Thin
2012-01-31T11:36:19+00:00 app[web.1]: => Rails 3.2.0 application starting in production on http://0.0.0.0:25836
2012-01-31T11:36:19+00:00 app[web.1]: => Ctrl-C to shutdown server
2012-01-31T11:36:19+00:00 app[web.1]: Exiting
2012-01-31T11:36:19+00:00 app[web.1]: /app/config/initializers/carrier_wave.rb:1:in `<top (required)>': uninitialized constant CarrierWave (NameError)
2012-01-31T11:36:19+00:00 app[web.1]:   from /app/vendor/bundle/ruby/1.9.1/gems/railties-3.2.0/lib/rails/engine.rb:587:in `each'
2012-01-31T11:36:19+00:00 app[web.1]:   from /app/vendor/bundle/ruby/1.9.1/gems/railties-3.2.0/lib/rails/initializable.rb:30:in `instance_exec'
2012-01-31T11:36:19+00:00 app[web.1]:   from /app/vendor/bundle/ruby/1.9.1/gems/railties-3.2.0/lib/rails/initializable.rb:30:in `run'
2012-01-31T11:36:19+00:00 app[web.1]:   from /app/vendor/bundle/ruby/1.9.1/gems/railties-3.2.0/lib/rails/engine.rb:588:in `block (2 levels) in <class:Engine>'
2012-01-31T11:36:19+00:00 app[web.1]:   from /app/vendor/bundle/ruby/1.9.1/gems/railties-3.2.0/lib/rails/application.rb:136:in `initialize!'
2012-01-31T11:36:19+00:00 app[web.1]:   from /app/vendor/bundle/ruby/1.9.1/gems/railties-3.2.0/lib/rails/engine.rb:587:in `block in <class:Engine>'
2012-01-31T11:36:19+00:00 app[web.1]:   from /app/vendor/bundle/ruby/1.9.1/gems/rack-1.4.1/lib/rack/builder.rb:51:in `instance_eval'
2012-01-31T11:36:19+00:00 app[web.1]:   from /app/vendor/bundle/ruby/1.9.1/gems/railties-3.2.0/lib/rails/initializable.rb:55:in `block in run_initializers'
2012-01-31T11:36:19+00:00 app[web.1]:   from /app/vendor/bundle/ruby/1.9.1/gems/railties-3.2.0/lib/rails/initializable.rb:54:in `each'
2012-01-31T11:36:19+00:00 app[web.1]:   from /app/vendor/bundle/ruby/1.9.1/gems/railties-3.2.0/lib/rails/railtie/configurable.rb:30:in `method_missing'
2012-01-31T11:36:19+00:00 app[web.1]:   from /app/config.ru:4:in `block in <main>'
2012-01-31T11:36:19+00:00 app[web.1]:   from /app/vendor/bundle/ruby/1.9.1/gems/railties-3.2.0/lib/rails/initializable.rb:54:in `run_initializers'
2012-01-31T11:36:19+00:00 app[web.1]:   from /app/vendor/bundle/ruby/1.9.1/gems/rack-1.4.1/lib/rack/builder.rb:51:in `initialize'
2012-01-31T11:36:19+00:00 app[web.1]:   from /app/config/environment.rb:5:in `<top (required)>'
2012-01-31T11:36:19+00:00 app[web.1]:   from /app/config.ru:1:in `<main>'
2012-01-31T11:36:19+00:00 app[web.1]:   from /app/vendor/bundle/ruby/1.9.1/gems/railties-3.2.0/lib/rails/commands/server.rb:46:in `app'
2012-01-31T11:36:19+00:00 app[web.1]:   from /app/config.ru:1:in `new'

Gemfile:

source 'http://rubygems.org'
gem 'rails', '3.2.0'
gem 'jquery-rails'

gem 'devise'
gem "cancan"
gem "friendly_id", "~> 4.0.0.beta14"
gem 'rmagick'
gem 'ancestry'
gem "fog"
gem 'dragonfly', '~>0.9.9'
gem 'rack-cache', :require => 'rack/cache'
gem 'tinymce-rails'

group :development, :test do
    gem "mysql2", "~> 0.3.11"
    gem 'sqlite3'
end


# Gems used only for assets and not required
# in production environments by default.
group :assets do
  gem 'pg'
  gem 'thin'
  gem 'sass-rails', "  ~> 3.2.3"
  gem 'coffee-rails', "~> 3.2.1"
  gem 'uglifier', '>= 1.0.3'
  
end


# To use ActiveModel has_secure_password
# gem 'bcrypt-ruby', '~> 3.0.0'

# Use unicorn as the web server
# gem 'unicorn'

# Deploy with Capistrano
# gem 'capistrano'

# To use debugger
# gem 'ruby-debug19', :require => 'ruby-debug'

group :test do
  # Pretty printed test output
  gem 'turn', '0.8.2', :require => false
end

Я отправил электронное письмо в службу поддержки Heroku, и ответ был

Привет -

Последняя строка указывает на проблему с Fog — библиотекой, используемой для связи с облачными провайдерами, такими как Amazon.

Будете ли вы гарантировать, что гем «туман» будет добавлен в ваше приложение?

Я на 100% уверен, что драгоценный камень там, как вы можете видеть мой файл драгоценного камня. Затем снова другой ответ

Можете ли вы воспроизвести эту проблему локально в «производственном» режиме?

Если вы добавите «тонкий» гем в свой Gemfile, вы сможете имитировать среду Heroku с помощью «bundle exec thin start -e production».

30 января 2012 г., 11:43

Я уже сделал это, и все работает на моей локальной машине. Я немного потерялся в решении. Я прочитал это плагины в стиле Rails 2.3 и предупреждения об устаревании, выполняющие задачу в Мы с Heroku не хотели использовать этот хак в качестве решения. В качестве еще одного решения я решил понизить версию своего приложения до Rails 3.1, и проблема все еще сохраняется. Что мне здесь не хватает?

Я подозреваю, что это произошло из-за драгоценного камня Carrierwave, который я удалил вместе с загрузчиком. Но Heroku по-прежнему ссылается на него. В моем конфигурационном файле нет ничего о несущей.


person Benjamin    schedule 31.01.2012    source источник
comment
У вас нет файла config/initializers/carrier_wave.rb, упомянутого в трассировке стека?   -  person Frederick Cheung    schedule 31.01.2012
comment
Нет, я удалил его, когда удалил драгоценный камень Carrier_wave.   -  person Benjamin    schedule 31.01.2012


Ответы (1)


Насколько я вижу, ошибка не имеет ничего общего с плагинами или Rails 3.2, они устарели. Мне кажется, что вы неправильно удалили Carrwave.

В сообщении об ошибке говорится, что у вас все еще есть config/initializers/carrier_wave.rb и что он все еще пытается сослаться на отсутствующий объект CarrierWave.

Я бы посоветовал убедиться, что ваша несущая волна правильно удалена, а также удалена из git.

person Neil Middleton    schedule 31.01.2012
comment
@ Нил Миддлтон, я много раз проверял, этого файла нет в моей папке конфигурации. Как будто героку не обновляет мое приложение. - person Benjamin; 31.01.2012
comment
Ваша ошибка говорит об обратном. Убедитесь, что вы зафиксировали удаленный файл и отправили это изменение в Heroku. - person Neil Middleton; 01.02.2012
comment
Я пробовал все, и единственное, что решило проблему, — это предварительная компиляция моих ресурсов. - person Benjamin; 01.02.2012