【问题标题】:VSCode: Rubocop version of project gem seems to differ from version vscode usesVSCode:项目 gem 的 Rubocop 版本似乎与 vscode 使用的版本不同
【发布时间】:2020-05-14 10:40:56
【问题描述】:

在 VSCode 中打开 ruby​​ 文件时出现错误:

.rubocop.yml: Metrics/LineLength has the wrong namespace - should be Layout Error: The `Style/BracesAroundHashParameters` cop has been removed. (obsolete configuration found in .rubocop.yml, please update it)

所以 VSCode 中的 linting 不起作用。原因很明显:LineLength cop 位于 Metrics 命名空间下,因为该项目使用 rubocop 0.77.0 并将其移动到 Layout 是在 0.78.0 中引入的。所以更改命名空间意味着运行bundle exec rubocop 会失败。就像特拉维斯建造的那样。

我不清楚如何指定 vscode 本身使用的版本,如果它是全局安装的 gem,以及如何为每个项目专门设置 vscode 的 rubocop 版本 - 因为我有不同版本的不同项目Ruby 和 rubocop。

谢谢!

【问题讨论】:

  • 你项目的 Gemfile 中有 rubocop 吗?如果是这样,请执行bundle install,它应该可以工作。如果没有,请尝试在 VS Code 设置中查看 Rubocop 的 执行路径 设置。
  • @gd.silva 是的,我有,但它不会改变任何东西......

标签: ruby visual-studio-code rubocop


【解决方案1】:

我也遇到了同样的问题。在某些时候,我必须在我的系统上全局安装了 rubocop gem,而不仅仅是在项目中。对我的修复受到this answer 的影响。本质上

bundle exec rubocop -v
rubocop -v

如果这两个值不同继续:

gem uninstall rubocop

然后您将看到已安装版本的列表。选择与您的捆绑安装版本不匹配的版本,然后确认。此时可以通过运行确认卸载成功

rubocop -v

您应该会看到作为捆绑包的一部分列出的版本。

【讨论】:

    猜你喜欢
    • 2022-01-24
    • 1970-01-01
    • 2019-11-03
    • 2020-12-10
    • 2020-03-21
    • 2017-12-10
    • 2023-04-04
    • 1970-01-01
    • 2022-11-01
    相关资源
    最近更新 更多