Flutter项目中新Dart文件无法导入本地Dart文件提示URI不存在如何解决
Flutter本地自定义Dart文件导入URI不存在报错解决方案
该报错的核心原因是本地文件的导入URI不符合Dart规范,可按以下步骤逐一排查解决:
- 核对package导入的路径格式
package导入的标准写法为package:<项目名>/<文件从lib目录开始的相对路径>,禁止直接写package:文件名.dart。
示例:项目pubspec.yaml第一行name字段为flutter_app,lib目录下api文件夹内有user.dart,正确导入写法为import 'package:flutter_app/api/user.dart'。
注意路径中的项目名必须和pubspec.yaml的name字段完全一致,包括大小写。 - 核对文件存放位置
所有通过package URI导入的本地Dart文件必须存放在项目根目录的lib文件夹下,lib目录外的文件无法通过该方式导入。如果文件存放在lib的多级子目录下,导入路径需要补全所有层级。 - 检查路径大小写匹配度
Dart导入校验对大小写敏感,即使Windows/macOS系统对路径大小写不敏感,只要导入路径的大小写和实际文件/文件夹名不一致,就会触发报错。请逐一核对路径每一级的大小写和实际文件完全匹配。 - 多包项目额外核对依赖声明
如果导入的是本地子包的文件,需要先在主项目的pubspec.yaml的dependencies字段中声明子包依赖,示例:
声明完成后重新执行dependencies: my_local_package: path: ./packages/my_local_packageflutter pub get即可。 - 清理缓存重建索引
以上步骤核对无误仍报错的话,按顺序执行操作:- 关闭IDE,删除项目根目录下的
.dart_tool文件夹 - 重新打开IDE,执行
flutter pub get - 等待IDE索引重建完成后,报错会自动消失
- 关闭IDE,删除项目根目录下的
内容的提问来源于stack exchange,提问作者Ganesh Sivakumar
相关产品推荐
相关产品推荐

