ruby-on-rails - 为什么 Rubocop 提出“解析器/当前识别符合 2.5.5 的语法,但您正在运行 2.5.3”?
问题描述
在 Rails 应用程序中,我开始在日志和测试输出中看到以下内容。
warning: parser/current is loading parser/ruby25, which recognizes
warning: 2.5.5-compliant syntax, but you are running 2.5.3.
warning: please see https://github.com/whitequark/parser#compatibility-with-ruby-mri.
这来自 Rubocop。
我知道 Rubocop 检查应用程序根目录中是否存在 .ruby-version 文件并使用它指定的 Ruby 版本。https://rubocop.readthedocs.io/en/latest/configuration/#setting-the-target-ruby-version
Rails 应用程序包含这样一个文件
/.ruby-version
ruby-2.5.3
为什么 Rubocop 会针对错误版本的 Ruby 运行检查?
解决方案
它来自解析器对 rubocop 的依赖。
https://github.com/whitequark/parser/blob/master/lib/parser/current.rb
查看这段代码,如果您没有使用 Ruby 的最后一个次要版本,您似乎会收到此警告。
推荐阅读
- lua - nodemcu gpio中断无法正常工作
- google-apps-script - 获取另一个工作表中单元格的最后更新时间
- python - Spark覆盖广播变量
- mongodb - Mongo 条件 $push
- wordpress - 如何从 Wordfence 禁用身份验证电子邮件发送?
- angular - 使用 Angular 和 Electron 构建的桌面应用程序在安装后显示白屏
- c# - 遇到断点时是否可以在 C# 中仅“暂停”单个工作线程
- typescript - 打字稿错误 TS(2304) jest.MockedFunction - jest.MockedFunction 的正确用法是什么?
- spring-batch - 是否可以在春季批次中将大物体从一个步骤传递到另一个步骤
- r - 在 R 中声明别名函数的最佳方法