【问题标题】:Rubocop: Error - rubocop returned exit code 2Rubocop:错误 - rubocop 返回退出代码 2
【发布时间】:2019-10-09 17:26:08
【问题描述】:

我刚刚将一个 Ruby on Rails 项目克隆到我的本地机器上来处理它。我已运行命令 bundle install 以安装项目所需的所有必要 gem 和依赖项。

但是我的日志消息中不断弹出一条消息,这让我很担心。这是

错误:Rubocop 返回退出代码:2

我检查了我安装的rubocop 的版本,它似乎是最新的。 我还对可能导致此错误的原因进行了一些研究,但我似乎还没有运气。我需要一些帮助。

【问题讨论】:

    标签: ruby-on-rails ruby rubocop rubocop-rspec


    【解决方案1】:

    根据 RuboCop HQ 与此问题相关的提交消息 (Return exit code 2 if RuboCop fails due to internal error),据说“RuboCop 如果由于错误的配置、错误的 CLI 选项或内部错误而失败,则返回进程退出代码 2。如果它运行成功但发现一个或多个违规行为,它仍然以代码 1 退出,与之前的情况一样。这在以编程方式调用 RuboCop 时很有帮助,可能是从脚本中调用。"

    在对我的应用程序进行了更彻底的审查后,我检查了日志消息并意识到我在Error:Rubocop returned exit code: 2 下方也有一个错误,即cannot load such file -- rubocop-performance

    所以我迅速检查了我的Gemfile,发现我的Gemfile 中列出的一些将rubocop 作为运行时依赖项 的 gem 尚未安装。

    宝石的完整列表是

    gem 'rubocop-performance'
    gem 'rubocop-rails'
    gem 'rubocop-rspec'
    

    我所要做的就是通过我的终端单独安装 gems

    gem install rubocop-performance
    gem install rubocop-rails
    gem install rubocop-rspec
    

    这为我解决了这个问题。

    就是这样。

    我希望这会有所帮助

    【讨论】:

    • 我正在使用 VSCode,我必须将它们安装在终端中。我无法将它们添加到我的项目中,因为这是一个团队合作。相反,我做了gem install <Gem-Name>
    • 哦,@RogerPerez,这正是我所做的,我猜我在答案中错过了 gem install 命令。我刚刚修好了。谢谢。
    • 谢谢!这绝对应该记录在某个显眼的地方。我花了四天的大部分时间试图让这个工作。作为 Ruby 开发人员,开始使用 Vim 和 ALE 替换 IDE 可能会让人们陷入困境。
    【解决方案2】:

    我的 VS 代码格式也面临类似的问题。从 vscode 终端执行bundle install 后解决。

    看起来根本原因是 rubocop 的一些 gem 依赖项没有安装到默认 gemset 中,并且仅在我的项目 gemset 中可用。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2019-04-21
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多