Rubocop 自动更正 FrozenStringLiteralComment 不起作用

问题描述 投票:0回答:2

我有一个 Rails 6 项目,并尝试使用 RuboCop 的

auto-correct
选项来修复许多
Style/FrozenStringLiteralComment
错误(主要在生成的文件中)。

无论我从项目根目录运行

bundle exec rubocop --auto-correct --only Style/FrozenStringLiteralComment
多少次,Rubocop 都只会报告错误,但不会自动更正它们:

app/models/product.rb:1:1: C: Style/FrozenStringLiteralComment: Missing frozen string literal comment.

通过使用

--show-cops
选项运行,我可以看到该警察“支持 --自动更正”,所以我不确定出了什么问题。

我的

.rubocop.yml
文件只有一项配置设置:
require: rubocop-rails

我还运行了

bundle exec rubocop -a
,它纠正了配置和类似文件中的其他错误(主要是单引号)。

知道为什么自动更正在这种情况下不起作用吗?谢谢。

ruby-on-rails ruby rubocop
2个回答
31
投票

这是 0.87 版本中引入的重大更改(请参阅问题)。

引用那里:

rubocop -a 执行所有自动更正,包括不安全的自动更正。必须添加 --safe-auto- Correct 来排除不安全的。

您现在应该使用

-A
标志来安全和/或不安全地自动更正您的文件:

rubocop -a / --auto Correct 不再运行不安全的更正; rubocop -A / --auto Correct-all 运行安全和不安全的更正。选项 --safe-auto Correct 已弃用

它应该对你有用:

bundle exec rubocop -A --only Style/FrozenStringLiteralComment

0
投票

运行bundle exec rubocop --parallel -A

© www.soinside.com 2019 - 2024. All rights reserved.