现在 rubocop 给了我关于我的 rails 项目的 3 个不同的输出,这取决于我如何调用它。
> 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 ? 呜呜?
我假设第三个输出来自某个地方的第三个版本的 rubocop?它会在哪里?这里发生了什么?
更新:
任务列表:['ci:setup', :spec, :rubocop, :jshint, 'brakeman:run', 'bundler:audit', 'bundler:outdated']
更新 2:
在一位同事的建议下,我将其放入以尝试在 rake 期间获取正在运行的 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
的,是我期望的版本。仍然没有解释错误。