You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

运行build_runner时riverpod_generator预编译失败的问题求助

运行build_runner时riverpod_generator预编译失败的问题求助

我一直在用Flutter的Riverpod配合riverpod_generator做练习,之前所有功能都正常,dart run build_runner watch -d也能自动生成.g.dart文件。但突然出问题了,现在运行build runner时直接报错,完全没法继续开发,已经卡了两天,试过各种办法都没用,实在没办法才来求助!

我运行dart run build_runner build -v后,得到的错误信息如下:

user@name MINGW64 /a/flutter_code/aa

$ dart run build_runner build -v

[INFO] Entrypoint:Generating build script...

[INFO] Entrypoint:Generating build script completed, took 663ms

[INFO] Bootstrap:Precompiling build script......

[WARNING] Bootstrap:

/C:/Users/user@name/AppData/Local/Pub/Cache/hosted/pub.dev/riverpod_generator-2.3.4/lib/src/templates/functional_provider.dart:38:33: Error: The getter

'createdType' isn't defined for the class 'FunctionalProviderDeclaration'.

- 'FunctionalProviderDeclaration' is from 'package:riverpod_analyzer_utils/src/riverpod_ast.dart' ('/C:/Users/user@name/AppData/Local/Pub/Cache/hosted/pub.dev/riverpod_analyzer_utils-0.4.1/lib/src/riverpod_ast.dart').

Try correcting the name to the name of an existing getter, or defining a getter or field named 'createdType'.

final returnType = provider.createdType;

^^^^^^^^^^^

/C:/Users/user@name/AppData/Local/Pub/Cache/hosted/pub.dev/riverpod_generator-2.3.4/lib/src/templates/functional_provider.dart:61:48: Error: The getter

'valueType' isn't defined for the class 'FunctionalProviderDeclaration'.

- 'FunctionalProviderDeclaration' is from 'package:riverpod_analyzer_utils/src/riverpod_ast.dart' ('/C:/Users/user@name/AppData/Local/Pub/Cache/hosted/pub.dev/riverpod_analyzer_utils-0.4.1/lib/src/riverpod_ast.dart').

Try correcting the name to the name of an existing getter, or defining a getter or field named 'valueType'.

final $providerName = $providerType<${provider.valueType}>.internal(

^^^^^^^^^

/C:/Users/user@name/AppData/Local/Pub/Cache/hosted/pub.dev/riverpod_generator-2.3.4/lib/src/templates/functional_provider.dart:69:50: Error: The getter

'valueType' isn't defined for the class 'FunctionalProviderDeclaration'.

- 'FunctionalProviderDeclaration' is from 'package:riverpod_analyzer_utils/src/riverpod_ast.dart' ('/C:/Users/user@name/AppData/Local/Pub/Cache/hosted/pub.dev/riverpod_analyzer_utils-0.4.1/lib/src/riverpod_ast.dart').

Try correcting the name to the name of an existing getter, or defining a getter or field named 'valueType'.

typedef $refName = ${providerType}Ref<${provider.valueType}>;

^^^^^^^^^

/C:/Users/user@name/AppData/Local/Pub/Cache/hosted/pub.dev/riverpod_generator-2.3.4/lib/src/templates/class_based_provider.dart:101:33: Error: The getter 'createdType' isn't defined for the class 'ClassBasedProviderDeclaration'.

- 'ClassBasedProviderDeclaration' is from 'package:riverpod_analyzer_utils/src/riverpod_ast.dart' ('/C:/Users/user@name/AppData/Local/Pub/Cache/hosted/pub.dev/riverpod_analyzer_utils-0.4.1/lib/src/riverpod_ast.dart').

Try correcting the name to the name of an existing getter, or defining a getter or field named 'createdType'.

final returnType = provider.createdType;

^^^^^^^^^^^

/C:/Users/user@name/AppData/Local/Pub/Cache/hosted/pub.dev/riverpod_generator-2.3.4/lib/src/templates/class_based_provider.dart:115:66: Error: The getter 'valueType' isn't defined for the class 'ClassBasedProviderDeclaration'.

- 'ClassBasedProviderDeclaration' is from 'package:riverpod_analyzer_utils/src/riverpod_ast.dart' ('/C:/Users/user@name/AppData/Local/Pub/Cache/hosted/pub.dev/riverpod_analyzer_utils-0.4.1/lib/src/riverpod_ast.dart').

Try correcting the name to the name of an existing getter, or defining a getter or field named 'valueType'.

final $providerName = $providerType<${provider.name}, ${provider.valueType}>.internal(

^^^^^^^^^

/C:/Users/user@name/AppData/Local/Pub/Cache/hosted/pub.dev/riverpod_generator-2.3.4/lib/src/templates/class_based_provider.dart:123:61: Error: The getter 'valueType' isn't defined for the class 'ClassBasedProviderDeclaration'.

- 'ClassBasedProviderDeclaration' is from 'package:riverpod_analyzer_utils/src/riverpod_ast.dart' ('/C:/Users/user@name/AppData/Local/Pub/Cache/hosted/pub.dev/riverpod_analyzer_utils-0.4.1/lib/src/riverpod_ast.dart').

Try correcting the name to the name of an existing getter, or defining a getter or field named 'valueType'.

typedef $notifierTypedefName = $notifierBaseType<${provider.valueType}>;

^^^^^^^^^

/C:/Users/user@name/AppData/Local/Pub/Cache/hosted/pub.dev/riverpod_generator-2.3.4/lib/src/templates/family.dart:55:32: Error: The getter 'createdType' isn't defined for the class 'FunctionalProviderDeclaration'.

- 'FunctionalProviderDeclaration' is from 'package:riverpod_analyzer_utils/src/riverpod_ast.dart' ('/C:/Users/user@name/AppData/Local/Pub/Cache/hosted/pub.dev/riverpod_analyzer_utils-0.4.1/lib/src/riverpod_ast.dart').

Try correcting the name to the name of an existing getter, or defining a getter or field named 'createdType'.

var createdType = provider.createdType.toString();

^^^^^^^^^^^

/C:/Users/user@name/AppData/Local/Pub/Cache/hosted/pub.dev/riverpod_generator-2.3.4/lib/src/templates/family.dart:57:33: Error: The getter 'createdType' isn't defined for the class 'FunctionalProviderDeclaration'.

- 'FunctionalProviderDeclaration' is from 'package:riverpod_analyzer_utils/src/riverpod_ast.dart' ('/C:/Users/user@name/AppData/Local/Pub/Cache/hosted/pub.dev/riverpod_analyzer_utils-0.4.1/lib/src/riverpod_ast.dart').

Try correcting the name to the name of an existing getter, or defining a getter or field named 'createdType'.

final returnType = provider.createdType;

^^^^^^^^^^^

/C:/Users/user@name/AppData/Local/Pub/Cache/hosted/pub.dev/riverpod_generator-2.3.4/lib/src/templates/family.dart:65:44: Error: The getter 'valueType' isn't defined for the class 'FunctionalProviderDeclaration'.

- 'FunctionalProviderDeclaration' is from 'package:riverpod_analyzer_utils/src/riverpod_ast.dart' ('/C:/Users/user@name/AppData/Local/Pub/Cache/hosted/pub.dev/riverpod_analyzer_utils-0.4.1/lib/src/riverpod_ast.dart').

Try correcting the name to the name of an existing getter, or defining a getter or field named 'valueType'.

createdType = 'FutureOr<${provider.valueType}>';

^^^^^^^^^

/C:/Users/user@name/AppData/Local/Pub/Cache/hosted/pub.dev/riverpod_generator-2.3.4/lib/src/templates/family.dart:90:38: Error: The getter 'valueType' isn't defined for the class 'FunctionalProviderDeclaration'.

- 'FunctionalProviderDeclaration' is from 'package:riverpod_analyzer_utils/src/riverpod_ast.dart' ('/C:/Users/user@name/AppData/Local/Pub/Cache/hosted/pub.dev/riverpod_analyzer_utils-0.4.1/lib/src/riverpod_ast.dart').

Try correcting the name to the name of an existing getter, or defining a getter or field named 'valueType'.

providerGenerics: '<${provider.valueType}>',

^^^^^^^^^

/C:/Users/user@name/AppData/Local/Pub/Cache/hosted/pub.dev/riverpod_generator-2.3.4/lib/src/templates/family.dart:134:33: Error: The getter 'createdType' isn't defined for the class 'ClassBasedProviderDeclaration'.

- 'ClassBasedProviderDeclaration' is from 'package:riverpod_analyzer_utils/src/riverpod_ast.dart' ('/C:/Users/user@name/AppData/Local/Pub/Cache/hosted/pub.dev/riverpod_analyzer_utils-0.4.1/lib/src/riverpod_ast.dart').

Try correcting the name to the name of an existing getter, or defining a getter or field named 'createdType'.

final returnType = provider.createdType;

^^^^^^^^^^^

/C:/Users/user@name/AppData/Local/Pub/Cache/hosted/pub.dev/riverpod_generator-2.3.4/lib/src/templates/family.dart:167:56: Error: The getter 'valueType'

isn't defined for the class 'ClassBasedProviderDeclaration'.

- 'ClassBasedProviderDeclaration' is from 'package:riverpod_analyzer_utils/src/riverpod_ast.dart' ('/C:/Users/user@name/AppData/Local/Pub/Cache/hosted/pub.dev/riverpod_analyzer_utils-0.4.1/lib/src/riverpod_ast.dart').

Try correcting the name to the name of an existing getter, or defining a getter or field named 'valueType'.

providerGenerics: '<${provider.name}, ${provider.valueType}>',

^^^^^^^^^

/C:/Users/user@name/AppData/Local/Pub/Cache/hosted/pub.dev/riverpod_generator-2.3.4/lib/src/templates/family.dart:172:74: Error: The getter 'valueType'

isn't defined for the class 'ClassBasedProviderDeclaration'.

- 'ClassBasedProviderDeclaration' is from 'package:riverpod_analyzer_utils/src/riverpod_ast.dart' ('/C:/Users/user@name/AppData/Local/Pub/Cache/hosted/pub.dev/riverpod_analyzer_utils-0.4.1/lib/src/riverpod_ast.dart').

Try correcting the name to the name of an existing getter, or defining a getter or field named 'valueType'.

abstract class $notifierTypedefName extends $notifierBaseType<${provider.valueType}> {

^^^^^^^^^

/C:/Users/user@name/AppData/Local/Pub/Cache/hosted/pub.dev/riverpod_generator-2.3.4/lib/src/templates/family.dart:175:14: Error: The getter 'createdType' isn't defined for the class 'ClassBasedProviderDeclaration'.

- 'ClassBasedProviderDeclaration' is from 'package:riverpod_analyzer_utils/src/riverpod_ast.dart' ('/C:/Users/user@name/AppData/Local/Pub/Cache/hosted/pub.dev/riverpod_analyzer_utils-0.4.1/lib/src/riverpod_ast.dart').

Try correcting the name to the name of an existing getter, or defining a getter or field named 'createdType'.

${provider.createdType} build($parameterDefinition);

^^^^^^^^^^^

/C:/Users/user@name/AppData/Local/Pub/Cache/hosted/pub.dev/riverpod_generator-2.3.4/lib/src/templates/family.dart:180:14: Error: The getter 'createdType' isn't defined for the class 'ClassBasedProviderDeclaration'.

- 'ClassBasedProviderDeclaration' is from 'package:riverpod_analyzer_utils/src/riverpod_ast.dart' ('/C:/Users/user@name/AppData/Local/Pub/Cache/hosted/pub.dev/riverpod_analyzer_utils-0.4.1/lib/src/riverpod_ast.dart').

Try correcting the name to the name of an existing getter, or defining a getter or field named 'createdType'.

${provider.createdType} runNotifierBuild(

^^^^^^^^^^^

/C:/Users/user@name/AppData/Local/Pub/Cache/hosted/pub.dev/riverpod_generator-2.3.4/lib/src/templates/family.dart:248:45: Error: The getter 'exposedType' isn't defined for the class 'GeneratorProviderDeclaration'.

- 'GeneratorProviderDeclaration' is from 'package:riverpod_analyzer_utils/src/riverpod_ast.dart' ('/C:/Users/user@name/AppData/Local/Pub/Cache/hosted/pub.dev/riverpod_analyzer_utils-0.4.1/lib/src/riverpod_ast.dart').

Try correcting the name to the name of an existing getter, or defining a getter or field named 'exposedType'.

class $familyName extends Family<${provider.exposedType}> {

^^^^^^^^^^^

/C:/Users/user@name/AppData/Local/Pub/Cache/hosted/pub.dev/riverpod_generator-2.3.4/lib/src/templates/family.dart:332:43: Error: The getter 'valueType'

isn't defined for the class 'GeneratorProviderDeclaration'.

- 'GeneratorProviderDeclaration' is from 'package:riverpod_analyzer_utils/src/riverpod_ast.dart' ('/C:/Users/user@name/AppData/Local/Pub/Cache/hosted/pub.dev/riverpod_analyzer_utils-0.4.1/lib/src/riverpod_ast.dart').

Try correcting the name to the name of an existing getter, or defining a getter or field named 'valueType'.

mixin $refNameImpl on $refType<${provider.valueType}> {

^^^^^^^^^

[INFO] Bootstrap:Precompiling build script... completed, took 1.9s

[SEVERE] Bootstrap:

Failed to precompile build script .dart_tool/build/entrypoint/build.dart.

This is likely caused by a misconfigured builder definition.

我的pubspec.yaml配置如下:

name: aa
description: A new Flutter project.
publish_to: "none"
version: 0.1.0

environment:
  sdk: ">=3.1.4 <4.0.0"

dependencies:
  flutter:
    sdk: flutter
  flutter_riverpod: ^2.4.4
  riverpod_annotation: ^2.2.1

dev_dependencies:
  flutter_test:
    sdk: flutter
  flutter_lints: ^3.0.0
  riverpod_generator: ^2.3.4
  build_runner: ^2.4.6
  custom_lint: ^0.5.4
  riverpod_lint: ^2.0.2

flutter:
  uses-material-design: true

我已经尝试过的方法:

  • 执行flutter clean → flutter pub cache clean → dart run build_runner build clean的完整流程
  • 回退到之前能正常工作的所有Riverpod相关依赖版本(包括开发依赖)
  • 完全重新安装Flutter,同时删除appdata/Local/Pub文件夹,并且通过Android Studio更新了platform-tools、SDK等
  • 多次执行flutter pub upgrade --major-versions升级依赖
  • 查阅过相关的问题讨论帖

实在是没办法了,有没有大佬能帮我解决这个问题,让我能继续练习Riverpod?如果需要更多信息我随时补充!

备注:内容来源于stack exchange,提问作者Johny Gates

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.21 10:30:08