颤振构建运行器不起作用 - 调用了 getter 'uri' 为 null

Posted

技术标签:

【中文标题】颤振构建运行器不起作用 - 调用了 getter \'uri\' 为 null【英文标题】:flutter build runner not working - The getter 'uri' was called on null颤振构建运行器不起作用 - 调用了 getter 'uri' 为 null 【发布时间】:2021-03-18 02:54:34 【问题描述】:

我完美地将颤振与构建运行器一起使用,但今天它只是得到这个空错误。 甚至以为我恢复了我的代码更改,但仍然是同样的错误。

错误:

>[SEVERE] json_serializable:json_serializable on test/widget_test.dart:

>NoSuchMethodError: The getter 'uri' was called on null.
>Receiver: null
>Tried calling: uri
>[INFO] 3.3s elapsed, 1/17 actions completed.
>[INFO] 4.4s elapsed, 1/17 actions completed.
>[INFO] 5.4s elapsed, 1/17 actions completed.
>[INFO] 6.4s elapsed, 1/17 actions completed.
>[INFO] 7.5s elapsed, 1/17 actions completed.
>[INFO] 8.5s elapsed, 1/17 actions completed.
>[INFO] 9.6s elapsed, 1/17 actions completed.
>[INFO] 10.7s elapsed, 1/17 actions completed.
>[INFO] 11.8s elapsed, 1/17 actions completed.
>[INFO] 12.9s elapsed, 1/17 actions completed.
>[INFO] 14.0s elapsed, 1/17 actions completed.
>[INFO] 15.0s elapsed, 1/17 actions completed.
>[INFO] 16.1s elapsed, 1/17 actions completed.
>[INFO] 17.1s elapsed, 1/17 actions completed.
>[WARNING] No actions completed for 15.1s, waiting on:
>  json_serializable:json_serializable on lib/common_widgets/alert_screens.dart
>  json_serializable:json_serializable on lib/common_widgets/app_logo.dart
>  json_serializable:json_serializable on lib/common_widgets/app_tab_bar.dart
>  json_serializable:json_serializable on lib/common_widgets/buttons_widgets.dart
>  json_serializable:json_serializable on lib/common_widgets/cards.dart
>  .. and 11 more
>  [INFO] 18.2s elapsed, 1/17 actions completed.
>  [INFO] 19.3s elapsed, 1/17 actions completed.

它一直这样下去。

我正在使用:

    sdk: ">=2.7.0 <3.0.0"
    flutter: ^1.22.0
    build_runner: ^1.10.0
    json_serializable: ^3.5.0
    analyzer: ^0.41.1

我正在尝试生成的模型:


    import 'package:flutter/foundation.dart';
    import 'package:json_annotation/json_annotation.dart';
    
    part 'clinic.g.dart';
    
    @JsonSerializable()
    class Clinic 
      final int establishmentYear;
      final String workingHours;
      final String phoneNumber;
      final String location;
    
      Clinic(
        @required this.establishmentYear,
        @required this.workingHours,
        @required this.phoneNumber,
        @required this.location,
      );
    
      factory Clinic.fromJson(Map<String, dynamic> json) => _$ClinicFromJson(json);
      Map<String, dynamic> toJson() => _$ClinicToJson(this);
    

【问题讨论】:

什么颤振版本? flutter_windows_1.22.1-stable 试试降级analyzer: ^0.39.2+1看看。 请粘贴您的代码 刚刚添加了代码 【参考方案1】:

根据this issue,你必须清理你的项目,获取依赖,最后升级你的包:

flutter clean flutter pub get flutter packages upgrade

【讨论】:

【参考方案2】:

更新到最新的flutter版本解决了这个问题

【讨论】:

以上是关于颤振构建运行器不起作用 - 调用了 getter 'uri' 为 null的主要内容,如果未能解决你的问题,请参考以下文章

无法在颤振中使用构建运行器生成 mobx

作为数据流运行器运行时,apache beam.io.BigQuerySource use_standard_sql 不起作用

ScaffoldMessenger.of(context).showSnackBar() 在小部件构建函数中直接调用时不起作用

谷歌字体包在颤振中不起作用

颤振:图像 BoxFit.cover 在堆栈中不起作用

在颤振中使用提供者时,getter 被调用为 null