Rail 项目中的 Dart 分析器在模板文件上出错

Dart Analyzer in a Rail Project is Giving an Error on a Template File

我正在尝试设置飞镖-rails gem。当我创建我的第一个飞镖代码文件时,我得到了这个错误:

ERROR: Target of URI does not exist: 'package:rails_ujs/rails_ujs.dart' ([dart_app] dart_app.dart:1)

当我双击错误时,会弹出以下文件。

app/vendor/bundle/gems/dart-rails-0.4.3/lib/dart/rails/generators/templates/dart/dart_app.dart

这是文件的内容:

import 'package:rails_ujs/rails_ujs.dart';

RailsUjs ujsHelper;

void main() {
  ujsHelper = new RailsUjs();
}

我的 app/assets/dart 目录中有相同的文件以及包本身。该文件没有显示错误。如果我将代码更改为无效的内容,则会弹出错误。这证明分析器也在查看它。

当我运行 重新分析所有Dart 源文件(不重启Dart Analysis Service)时弹出错误。这是 RubyMine IDE 中的一个按钮。我尝试重新启动服务并重新分析。我犯了同样的错误。这个问题似乎是分析器正在扫描整个项目以查找 dart 文件。是否可以控制分析仪的外观? 运行分析器是 RubyMine,不是我在终端提示符下。

如果您使用

导入文件
import 'package:rails_ujs/rails_ujs.dart';
  • 文件rails_ujs.dart has to be in thelibsub-directory of the directory where thepubspec.yaml`文件是
  • pubspec.yaml 文件需要 name: rails_ujs 属性.
  • pub get 需要 运行 来自包含 pubspec.yaml 文件的目录

原来是 RubyMine 的问题。我通过在项目的根目录中放置一个名为 .analysis_options 的文件来修复它,其内容如下:

analyzer:
  exclude:
    - 'vendor/**'

我刚刚排除了 vendor 目录中的所有内容。即使在我遇到错误时,分析器也会继续处理所有有效的代码文件。