Flutter 2.7迁移至3.x时导入控制器遇包解析失败求助
Flutter 2.7迁移至3.x时,package方式导入本地文件报错的解决
问题场景
- Flutter新手,正在将2.7版本代码迁移到3.x版本
- 操作步骤:
- 新建Flutter 3项目
- 复制旧项目
/lib目录下所有文件 - 复制旧项目
pubspec.yaml中的依赖配置 - 执行
flutter upgrade升级所有依赖到最新版本
出现的错误
运行flutter run时触发大量相同错误:
Error: Couldn't resolve the package 'sixam_mart' in 'package:sixam_mart/controller/auth_controller.dart'
错误来自代码中的这条导入语句:
import 'package:sixam_mart/controller/auth_controller.dart';
已确认auth_controller.dart确实存在于当前项目的对应路径下,但有两个疑问:
- 为什么本地项目内的模块要使用
package:方式导入? - 这个报错是代码结构问题还是我对Flutter导入概念理解有误?
问题解决(更新)
最终定位到问题根源:当前项目pubspec.yaml中的name属性值与导入语句里的sixam_mart不匹配,将name修改为sixam_mart后,报错完全消失。感谢@ShahedEmon的帮助。
内容的提问来源于stack exchange,提问作者Naga
相关产品推荐
相关产品推荐

