当前Dart运行时不支持dart:mirrors的Flutter Moor软件包导入

时间:2020-08-30 18:11:13

标签: flutter dart flutter-moor

我正在开发Flutter应用程序,并尝试将Moor软件包用于DB。我已经将所有依赖项都包含在pubspec.yaml文件中,创建了我的表实体以及数据库。

每次运行应用程序时,都会出现此错误:

Dart Error: error: import of dart:mirrors is not supported in the current Dart runtime

这是pubspec.yaml文件:

dependencies:
  flutter:
    sdk: flutter
  http: ^0.12.2
  moor: ^3.3.1
  sqlite3_flutter_libs: ^0.2.0
  path_provider: ^1.6.14
  path: ^1.7.0

dev_dependencies:
  moor_generator: ^3.3.1
  build_runner: ^1.7.3
  flutter_test:
    sdk: flutter

这也是我的表实体:

class DBEntrie extends Table {
  IntColumn get id => integer()();
  TextColumn get uuid => text()();
  TextColumn get name => text()();
  TextColumn get title => text()();

  @override
  Set<Column> get primaryKey => {id};
}

和数据库类:

LazyDatabase _openConnection() {
  return LazyDatabase(() async {
    final dbFolder = await getApplicationDocumentsDirectory();
    final file = File(p.join(dbFolder.path, 'entriesdb.sqlite'));
    return VmDatabase(file, logStatements: true);
  });
}

@UseMoor(tables: [DBEntries])
class MyDatabase extends _$MyDatabase {
  MyDatabase() : super(_openConnection());
  @override
  int get schemaVersion => 1;

  Future<List<DBEntrie>> getAllDBEntries() => select(_dBEntries).get();
}

它正确生成了表和数据库文件。但是在运行时会出现此错误。我该如何解决?是否有缺少的依赖关系?我应该更改用于该应用程序的Dart版本吗?

0 个答案:

没有答案