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

Rubocop: Error - rubocop returned exit code 2

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

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

Error:Rubocop returned exit code: 2

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

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

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

所以我很快检查了我的 Gemfile 并意识到我的 Gemfile 中列出的一些 gem 具有 rubocop 作为 运行时依赖项 尚未安装。

宝石的完整列表是

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

我所要做的就是简单地通过我的终端单独安装 gem

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

这解决了我的问题。

就这些了。

希望对您有所帮助

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

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