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

执行flutter run命令时报Null check operator used on a null value错误

错误说明

你遇到的是Flutter执行pub依赖拉取阶段的崩溃,完整错误堆栈如下:

Null check operator used on a null value
package:pub/src/io.dart 1036:47                                dartConfigDir.<fn>
package:pub/src/io.dart 1046:2                                 dartConfigDir
package:pub/src/io.dart                                        dartConfigDir
package:pub/src/system_cache.dart 92:33                        new SystemCache
package:pub/src/command.dart 51:39                             PubCommand.cache
package:pub/src/command.dart 65:70                             PubCommand.entrypoint
package:pub/src/command/get.dart 54:11                         
根因定位

该错误直接触发原因是pub工具读取Dart配置目录时获取到空值,触发了空检查运算符崩溃,常见触发场景如下:

  • Windows系统APPDATA环境变量、类Unix系统HOME环境变量未正确配置,导致pub无法定位默认配置目录
  • 自定义的PUB_CACHE环境变量指向的路径不存在或当前用户无读写权限
  • Flutter/Dart SDK内部的pub工具文件损坏
  • 本地pub缓存目录文件结构损坏、权限异常
解决步骤
  • 第一步:检查环境变量配置
    • Windows:打开系统环境变量面板,确认APPDATA变量存在且指向有效路径,若配置了PUB_CACHE变量,确认其指向的路径存在且当前用户有权限读写
    • macOS/Linux:终端执行echo $HOME确认输出有效路径,若配置了PUB_CACHE,执行echo $PUB_CACHE确认路径合法
  • 第二步:清理重建缓存
    依次执行以下命令:
    全局清理pub缓存:dart pub cache clean
    进入项目根目录执行:
    flutter clean
    flutter pub get
    完成后再执行flutter run验证问题是否解决
  • 第三步:修复SDK异常
    若上述操作无效,重新下载对应版本的Flutter SDK,替换本地现有SDK目录,排除SDK内部pub工具损坏的问题
  • 第四步:修复权限异常(macOS/Linux适用)
    若缓存目录权限不足,执行sudo chown -R $USER:$USER $HOME/.pub-cache修改缓存目录所有者为当前用户后重试

内容的提问来源于stack exchange,提问作者MUHAMMAD SHAHID RAFI C P

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.29 19:54:04