7

我运行flutter packages pug run build_runner build,在 Flutter 中创建 TypeAdapter 的常规命令,我收到以下错误:

类型“UnspecifiedInvalidResult”不是类型转换中“LibraryElementResult”类型的子类型

它说它在以下文件中发现了错误:

import 'dart:core';
import 'package:hive/hive.dart';
part 'storedItem.g.dart';

@HiveType(typeId: 1)
class Person extends HiveObject {

  @HiveField(0)
  String name;

  @HiveField(1)
  int age;
  
  Person({required this.name, required this.age});
}

我的意思是这就是文档的代码!我做错了什么?

顺便说一句:在 M1 MacBook Air、Flutter 2.2.3、Android Studio 4.2.2 上开发

4

5 回答 5

12

我终于能够通过删除我的 pubspec.lock 文件并再次运行 flutter pub get 来解决这个问题。

于 2021-12-12T18:12:36.733 回答
5

我现在面临同样的问题。终于弄清楚我做错了什么。

解决方法是使用 dart 文件的名称,并且文件part"file_name.g.dart";名中不应有空格。例如,我的 dart 文件名是Data Entry.dart并且我使用的是part"entries.g.dart";. 这就是它显示此错误的原因。然后我将代码更改为part"Data Entry.g.dart";. 它仍然显示错误。

然后最后我将文件名更改为entries.dart并使用part"entries.g.dart";它,它工作正常。

于 2021-08-30T16:14:02.987 回答
5

我可以通过删除我的 pubspec.lock 文件、运行flutter cleanflutter pub get再次运行来解决此问题。

于 2021-12-20T17:06:34.170 回答
0

source_gen: 1.0.3 对我有帮助

于 2021-08-17T08:45:33.703 回答
0

解决问题的步骤:

  • 执行flutter clean.
  • 已删除pubspec.yaml
  • 运行flutter pub get

完毕

现在运行build_runner并运行

于 2022-02-23T18:24:16.730 回答