VSCode中首次运行Flutter新项目出现空检查运算符错误
解决Flutter新项目编译报错:Null check operator used on a null value
错误详情
编译时触发错误:
Crash when compiling null, at character offset null: Null check operator used on a null value
伴随栈跟踪信息:
#0 InferableTypeBuilderMixin.type (package:front_end/src/fasta/builder/type_builder.dart:392:29) #1 InferableTypeBuilder.inferType (package:front_end/src/fasta/builder/omitted_type_builder.dart:155:12) #2 SourceLoader.performTopLevelInference (package:front_end/src/fasta/source/source_loader.dart:2358:19) #3 KernelTarget.buildOutlines.<anonymous closure> (package:front_end/src/fasta/kernel/kernel_target.dart:532:14) <asynchronous suspension> #4 withCrashReporting (package:front_end/src/fasta/crash.dart:122:12) <asynchronous suspension> #5 _buildInternal (package:front_end/src/kernel_generator_impl.dart:139:7) <asynchronous suspension> #6 withCrashReporting (package:front_end/src/fasta/crash.dart:122:12) <asynchronous suspension> #7 generateKernel.<anonymous closure> (package:front_end/src/kernel_generator_impl.dart:47:12) <asynchronous suspension> #8 generateKernel (package:front_end/src/kernel_generator_impl.dart:46:10) <asynchronous suspension> #9 kernelForModule (package:front_end/src/api_prototype/kernel_generator.dart:100:11) <asynchronous suspension> #10 SingleShotCompilerWrapper.compileInternal (file:///C:/b/s/w/ir/cache/builder/sdk/pkg/vm/bin/kernel_service.dart:412:11) <asynchronous suspension> #11 Compiler.compile.<anonymous closure> (file:///C:/b/s/w/ir/cache/builder/sdk/pkg/vm/bin/kernel_service.dart:221:45) <asynchronous suspension> #12 _processLoadRequest (file:///C:/b/s/w/ir/cache/builder/sdk/pkg/vm/bin/kernel_service.dart:914:37) <asynchronous suspension>
解决步骤
清理缓存并重建依赖
打开终端执行以下命令:flutter clean flutter pub get完成后关闭VSCode,重新打开项目再尝试运行。
调整Flutter SDK版本
先查看当前SDK版本:flutter --version该错误多与SDK版本bug相关,优先切换到稳定版并升级:
flutter channel stable flutter upgrade若升级后问题仍存在,可尝试回退到已知稳定的版本,例如:
flutter downgrade 3.13.0删除编译缓存目录
手动删除项目根目录下的.dart_tool和.build文件夹,再执行flutter pub get,之后重新运行项目。排查VSCode插件冲突
暂时禁用非必要的VSCode插件(尤其是代码分析、格式化类插件),仅保留Flutter和Dart官方插件,再尝试编译。重新创建项目
若以上方法均无效,用命令行重新生成项目:flutter create clean_flutter_project在VSCode中打开新项目后直接运行,排除原项目初始化异常的可能。
内容的提问来源于stack exchange,提问作者Ivan Raphel Jaison
相关产品推荐
相关产品推荐

