具体报错为Users/xxx/AppData/Local/Pub/Cache/hosted/pub.flutter-io.cn/build_runner-2.1.11/lib/src/build_script_generate/bootstrap.dart:76:40: Error: Method not found: 'NullThrownError'.
按照搜索的解决方法
- flutter clean
- flutter pub get
- flutter pub upgrade
- flutter pub run build_runner build --delete-conflicting-outputs
仍然不行,但是在flutter pub updrade的编译中可以看到 build_runner、json_serializable、json_annotation的最新可用版本,先大胆修改pubspce.yaml中对应依赖的版本好为最新,接下来可能会报错这几种依赖之间的版本冲突,比如提示
Because json_serializable 6.1.4 depends on analyzer >=2.0.0 <4.0.0 and build_runner >=2.4.6 depends on analyzer >=4.4.0 <7.0.0, json_serializable 6.1.4 is incompatible with build_runner >=2.4.6.
So, because xxxx depends on both build_runner ^2.4.7 and json_serializable 6.1.4, version solving failed.
此时按照提示降低某个依赖的版本即可。互相之间无依赖冲突,即可顺利运行。