【问题标题】:Different Rubocop results based on local or CircleCI基于本地或 CircleCI 的不同 Rubocop 结果
【发布时间】:2016-05-24 15:40:41
【问题描述】:

我刚开始在我的 Ruby on Rails 项目中使用 Rubocop,并创建了一个 git 分支来重构并让 Rubocop 跟上我想要的速度。当我运行命令时,我终于没有冒犯了

$ rubocop

但是,我尝试将 Rubocop 集成到我的 CircleCI 构建中,这就是我遇到问题的地方。这是我的 circle.yml 文件的相关部分:

test:
  post:
    - bundle exec rubocop

问题是,本地 Rubocop 说它正在检查 68 个文件,但在 CircleCI 上它说它正在检查 5624 个文件。正因为如此,它没有通过。在本地运行与在 CircleCI 上运行时,什么会导致我得到不同的输出?

另外,如果我运行:

bundle exec rubocop

在本地我得到了我期望的输出(68 个文件,都很好)。

【问题讨论】:

    标签: ruby-on-rails ruby circleci rubocop


    【解决方案1】:

    我想通了。

    我不知道为什么,但由于某种原因,在我的本地主机上它忽略了供应商文件,但在 CircleCI 上却没有,所以我将它添加到 .rubocop.yml 文件中。

    【讨论】:

    • 一些额外的细节:CircleCI 将 gem 安装到 vendor/ 文件夹中,这与传统的 rbenv 设置不同。将vendor/**/* 添加到AllCops 下的Exclude 键可防止在运行bundle exec rubocop 时扫描所有宝石。 Rubocop 文档:github.com/bbatsov/rubocop/blob/master/manual/…
    • 调试 rubocop 问题的有用命令:rubocop -dgithub.com/bbatsov/rubocop/issues/1652#issuecomment-74373641
    • 啊,对我来说,我运行的是rubocop -a --config rubocop.yml而不是bundle exec rubocop -a --config rubocop.yml,你的问题就是我的答案
    猜你喜欢
    • 1970-01-01
    • 2021-06-01
    • 2022-08-05
    • 2014-03-01
    • 2019-05-20
    • 2011-09-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多