0

升级我的 Flutter 后,Freezed 似乎为我的 Bloc/Cubit 文件生成了其中有错误的文件。

Pubspec.yaml 包含软件包的所有最新版本。

part of 'test_cubit.dart';

@freezed
abstract class TestState with _$TestState {
  const factory TestState.initial() = _Initial;
  const factory TestState.loaded(String someValue) = _Loaded;
}

将生成为(仅在发生错误的地方摘录)

/// @nodoc
class _$TestStateTearOff {
  const _$TestStateTearOff();

_Initial initial() {
  return const  _Initial();
}
_Loaded loaded( String* someValue) {
  return  _Loaded(someValue,);
}

}

错误图片

在此处输入图像描述

当我删除 * 时,一切正常。任何人都可以对此有所了解吗?

4

1 回答 1

1

最后在GitHub 上回答了这个问题。在运行检查以确保应用程序已完全迁移到空安全后发现了该问题。

$ dart pub upgrade --null-safety
null-safety compatible versions do not exist for:
 - build_runner

运行flutter pub run build_runner build时出现错误

Error: Cannot run with sound null safety, because the following dependencies don't support null safety:

 - package:build_runner_core
 - package:build_runner
 - package:build_config
 - package:build_daemon
 - package:code_builder

编辑pubspec.yaml并设置更高的环境后,它可以工作。这不是作为升级(或新应用程序)的一部分自动完成的。

environment:
  sdk: ">=2.12.0-0 <3.0.0"
于 2021-04-03T10:46:28.880 回答