I have this flutter project I've been working on and I need code generation for various reasons, such as riverpod providers and freezed models. So I'm using build_runner package to generate this .g.dart files, but suddenly when I run dart run build_runner watch I'm getting this error:
[INFO] Generating build script completed, took 152ms
[WARNING] ../../../../../.pub-cache/hosted/pub.dev/riverpod_generator-3.0.0-dev.4/lib/src/templates/family.dart:230:48: Error: The getter 'metadata' isn't defined for the class 'AstNode'.
- 'AstNode' is from 'package:analyzer/src/dart/ast/ast.dart' ('../../../../../.pub-cache/hosted/pub.dev/analyzer-6.2.0/lib/src/dart/ast/ast.dart').
Try correcting the name to the name of an existing getter, or defining a getter or field named 'metadata'.
final meta = metaAnnotations(provider.node.metadata);
^^^^^^^^
[INFO] Precompiling build script... completed, took 625ms
[SEVERE] Failed to precompile build script .dart_tool/build/entrypoint/build.dart.
This is likely caused by a misconfigured builder definition.
I have seen several post regarding this issue but any of the suggested answers seems to work.
So I have tried several things:
dart run build_runner build --delete-conflicting-outputs
Delete pubspec.lock file flutter clean and flutter pub get
Upgrade packages to latest versions with flutter pub upgrade
Adding the analyzer dependency package as suggested in one post.
Tried dart run build_runner doctor but got the same output.
I also tried flutter chache repair and flutter pub get and delete manually the cache stored int.dart_tool/ directory but nothing is working.
I've been stuck in this for hours with no avail, and I've no idea what might be wrong.
Here's my pubscpec.yaml file
name: myapp
description: A new Flutter project.
publish_to: none
version: 1.0.0+1
environment:
sdk: '>=3.0.5 <4.0.0'
flutter: ">=3.0.0"
dependencies:
flutter:
sdk: flutter
cupertino_icons: ^1.0.2
flutter_riverpod: ^2.3.6
riverpod_annotation: ^2.2.0
analyzer:
dev_dependencies:
flutter_test:
sdk: flutter
flutter_lints: ^2.0.0
riverpod_generator: ^3.0.0-dev.3
riverpod_lint: ^2.3.0
build_runner: ^2.4.6
flutter:
assets:
- lib/shared/assets/images/
fonts:
- family: Mont-Bold
fonts:
- asset: lib/shared/assets/fonts/Mont-Bold.otf
- family: Mont-SemiBold
fonts:
- asset: lib/shared/assets/fonts/Mont-SemiBold.otf
- family: Mont-Heavy
fonts:
- asset: lib/shared/assets/fonts/Mont-Heavy.otf
uses-material-design: true
There's a problem with version
3.0.0-dev.4ofriverpod_generator, so temporarily you can strictly use3.0.0-dev.3by removing the^: