Flutter误删依赖dart包运行报错,执行flutter clean等操作未解决如何处理
解决方案
../../MobileDev/flutter/.pub-cache/hosted/pub.dartlang.org/flutter_settings_screens-0.2.2+1/lib/src/widgets/settings_widgets.dart:3:8: Error: Error when reading '../../MobileDev/flutter/.pub-cache/hosted/pub.dartlang.org/flutter_material_color_picker-1.1.0+2/lib/flutter_material_color_picker.dart': No such file or directory
import 'package:flutter_material_color_picker/flutter_material_color_picker.dart';
该错误是手动删除了Flutter全局Pub缓存中的依赖包文件导致的,仅清理项目本地的pubspec.lock和执行flutter clean不会修改全局缓存内容,所以操作无效,可按以下顺序尝试解决:
- 第一步:执行全局缓存修复命令,该命令会自动检测所有缓存中缺失/损坏的依赖包并重新下载:
执行完成后回到项目目录,运行flutter pub cache repairflutter pub get重新拉取项目依赖即可。 - 第二步:如果修复命令执行后仍报错,可手动删除两个涉事包的缓存,再重新拉取:
先分别执行以下命令移除对应包的全局缓存:
回到项目目录执行flutter pub cache remove flutter_material_color_picker flutter pub cache remove flutter_settings_screensflutter pub get重新拉取依赖。 - 第三步:如果仍存在版本匹配问题,可在项目的pubspec.yaml中添加依赖覆盖规则,强制使用对应版本的包:
在pubspec.yaml中新增如下配置:
保存后执行dependency_overrides: flutter_material_color_picker: ^1.1.0+2flutter pub get即可。
内容的提问来源于stack exchange,提问作者Vladislav Dyshlyuk
相关产品推荐
相关产品推荐

