Различные выходы rubocop

Прямо сейчас rubocop дает мне 3 разных вывода относительно моего проекта rails, в зависимости от того, как я его вызываю.

> rubocop # version: 0.34.2
88 files inspected, 5 offenses detected

>bundle exec rubocop # version: 0.30.1
87 files inspected, no offenses detected

>rake # with :rubocop in my task list
87 files inspected, 35 offenses detected

>bundle exec rake # with :rubocop in my task list
87 files inspected, 35 offenses detected

2 варианта имеют смысл, так как моя системная версия rubocop отличается от версии в моем Gemfile . А 3? wuuuut?

Я предполагаю, что 3-й вывод идет от третьей версии rubocop где-нибудь? Где бы это было? Что тут происходит?

Обновить:

Список заданий: ['ci:setup', :spec, :rubocop, :jshint, 'brakeman:run', 'bundler:audit', 'bundler:outdated']

Обновление 2:

По совету коллеги я оставил это, чтобы попытаться получить работающую версию rubocop во время рейка:

task :rubocop do
  require 'rubocop/rake_task'
  require 'rubocop/version'
  puts RuboCop::Version.version
  RuboCop::RakeTask.new do |task|
    task.patterns = ['--rails']
  end
end

Это печатает 0.30.1, версия, которую я ожидаю. По-прежнему нет объяснения ошибок.

1 ответ

Ну, это грустно и смущает.

Если бы я внимательнее присмотрелся к задаче о граблях для rubocop, я бы заметил:

task.patterns = ['--rails'] 

Который добавляет несколько дополнительных полицейских. Добавление этого флага в bundle exec rubocop --rails совпадает с выводом из rake запустить.

Я надеюсь, что это поможет кому-то еще заметить это быстрее, чем я.

Другие вопросы по тегам