Quand je fais bundle exec rake -T
(ou bundle exec rake
), Je reçois des avertissements de dépréciation:
Andrews-Air:nabu agrimm$ bundle exec rake --trace -T
[DEPRECATION] `last_comment` is deprecated. Please use `last_description` instead.
[DEPRECATION] `last_comment` is deprecated. Please use `last_description` instead.
[DEPRECATION] `last_comment` is deprecated. Please use `last_description` instead.
[DEPRECATION] `last_comment` is deprecated. Please use `last_description` instead.
[DEPRECATION] `last_comment` is deprecated. Please use `last_description` instead.
[DEPRECATION] `last_comment` is deprecated. Please use `last_description` instead.
[DEPRECATION] `last_comment` is deprecated. Please use `last_description` instead.
[DEPRECATION] `last_comment` is deprecated. Please use `last_description` instead.
[DEPRECATION] `last_comment` is deprecated. Please use `last_description` instead.
[DEPRECATION] `last_comment` is deprecated. Please use `last_description` instead.
rake about # List versions of all Rails frameworks and the environment
[snip]
Bien que pas vraiment pertinent, voici le Gemfile:
source 'https://rubygems.org'
gem 'Rails', '~> 3.2.22.2'
gem 'mysql2'
group :assets do
gem 'coffee-Rails', '~> 3.2.1'
gem 'compass-Rails'
gem 'therubyracer'
gem 'libv8'
gem 'uglifier', '>= 1.0.3'
end
gem 'jquery-Rails'
gem 'haml-Rails'
gem 'to-csv', :require => 'to_csv'
gem 'kaminari'
gem 'oai'
gem 'analytical'
gem 'country-select'
gem 'activeadmin'
gem 'sass-Rails', '~> 3.2.3'
gem 'meta_search', '>= 1.1.0.pre'
gem 'devise', '2.2.3'
gem 'cancancan', '~> 1.12.0'
gem 'squeel'
gem 'nilify_blanks'
gem 'sunspot_Rails'
gem 'sunspot_solr'
gem 'Unicorn'
gem 'Ruby-filemagic'
gem 'capistrano'
gem 'capistrano-ext'
gem 'capistrano-Unicorn'
gem 'rollbar', '~> 2.8.3'
gem 'newrelic_rpm'
gem 'progress_bar'
gem 'paper_trail', '~> 2'
gem 'quiet_assets'
gem 'roo', '~> 2.1.0'
gem 'roo-xls', :github => 'roo-rb/roo-xls', :ref => '0a5ef88'
gem 'streamio-ffmpeg'
gem 'rake'
gem 'rmagick'
gem 'whenever', :require => false
group :development, :test do
gem 'turn', '~> 0.8.3', :require => false
gem 'rspec-Rails', '~> 2.0'
gem 'sextant'
gem 'thin'
gem 'spring'
gem 'spring-commands-rspec'
gem 'pry'
gem 'pry-Rails'
gem 'letter_opener'
gem 'guard-bundler'
gem 'guard-Rails'
gem 'guard-rspec'
gem 'guard-sunspot'
gem 'rb-inotify', :require => Ruby_PLATFORM.include?('linux') ? 'rb-inotify' : false
gem 'rb-fsevent', :require => Ruby_PLATFORM.include?('darwin') ? 'rb-fsevent' : false
end
group :development do
gem 'annotate'
gem 'binding_of_caller'
gem 'better_errors'
gem 'rubocop'
end
group :test do
gem 'capybara'
gem 'poltergeist'
gem 'factory_girl_Rails'
gem 'database_cleaner'
gem 'email_spec'
gem 'launchy'
end
Faire un git grep -i last_comment
indique que ce n'est pas dans mon code - probablement dans un joyau tiers.
Comment déterminer les causes des avertissements de dépréciation?
Je trouve plus facile de modifier la ligne de warn
à raise
dans rake-11.1.0/lib/rake/task_manager.rb:10
.
Pour moi, les joyaux incriminés sont rspec ( corrigé dans 3.4.4 ) et rubocop ( corrigé dans 0.38. ).
Essayez de mettre à jour gem "rspec-Rails", "~> 3.4.4"
, qui a résolu les avertissements de dépréciation pour moi.
Ce n'est pas faute rspec , l'erreur vient du râteau il y a eu commit il y a quelques semaines qui a ajouté l'avertissement, il y a eu un suivi ici .
Semble que Rspec se conforme déjà en utilisant last_description
plus de last_comment
. Si possible, essayez de passer à une version plus récente de rspec-core
Gem, comme l'a suggéré @ chris-scott. J'ai couru pour faire le tour
bundle update rspec-core
Vous pouvez récursivement grep vos gemmes, avec:
grep -r last_comment /path/to/gems
Comme décrit dans ce post , vous pouvez faire:
# application.rb
ActiveSupport::Deprecation.debug = true
Cela vous donnera une trace complète de la dépréciation de la pile.