Comment détecter quelles sont les causes de la dépréciation d'avertissement de Rake
Quand je fais bundle exec rake -T
(ou bundle exec rake
), je reçois la dépréciation avertissements:
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 pertinente, 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 qu'il n'est pas dans mon code, on peut supposer que c'est dans un tiers gem.
Comment puis-je m'quelles sont les causes de la dépréciation des avertissements?
- Comme solution de contournement, nécessitant
rake
être plus tôt que 11.0 supprimé la désapprobation avis.
Vous devez vous connecter pour publier un commentaire.
Je le trouve plus facile de modifier la ligne de
warn
àraise
dansrake-11.1.0/lib/rake/task_manager.rb:10
.Pour moi la fautive gemmes sont rspec (fixe dans la section 3.4.4) et rubocop (fixe dans 0.38.0).
Essayez de mettre à jour
gem "rspec-rails", "~> 3.4.4"
, qui a résolu le retrait des avertissements pour moi.gem 'rspec-rails', '~> 3.4.2'
, Console:$ bundle update rspec rspec-rails
Vous pouvez de manière récursive grep vos bijoux, avec:
grep -r last_comment
donnegrep: warning: recursive search of stdin
/path/to/gems
inclure les gemmes pour tous vos projets?for gem in $(bundle list | awk '{print $2}'); do bundle show "$gem"; done
Il n'est pas rspec faute, l'erreur vient de rake, il y avait un s'engager il y a quelques semaines qui a ajouté de l'avertissement, il y avait un suivi ici.
Semble que Rspec est déjà conforme à l'aide de
last_description
surlast_comment
. Si possible, essayez de mettre à jour vers une version plus récente derspec-core
Gem, comme @chris-scott a suggéré. J'ai couru à faire le tourbundle update rspec-core
Comme décrit dans cette post, vous pouvez le faire:
Cela vous donnera plein de trace de pile d'autodérision.