现在,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两个变体是有意义的,因为我的系统rubocop版本不同于我的Gemfile中的版本。但3?乌乌乌特?
我假设第三个输出来自某个地方的第三个版本?它会在哪里?这里发生了什么事?
更新:
任务列表:['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,我期望的版本。仍然没有对这些错误作出解释。
发布于 2015-10-23 19:28:31
这既悲哀又尴尬。
如果我能更仔细地观察一下鲁博克的任务,我就会注意到:
task.patterns = ['--rails'] 这增加了一些额外的警察。将该标志添加到bundle exec rubocop --rails与rake运行的输出相匹配。
我希望这能帮助别人比我更快地注意到这一点。
https://stackoverflow.com/questions/33308022
复制相似问题