如何修复Flutter中‘Target of URI doesn't exist: package:food_recipe/models/recipe.dart’错误?
解决Flutter导入本地包路径报错的问题
针对你遇到的Target of URI doesn't exist: 'package:food_recipe/models/recipe.dart'错误,试试下面这些排查和解决步骤:
检查文件路径与拼写
- 确认项目
lib/models/目录下存在recipe.dart文件,注意文件名和目录名的大小写(Flutter在Linux/macOS环境对大小写敏感,Windows不敏感,但跨平台开发要统一) - 核对导入路径中的项目名
food_recipe,必须和pubspec.yaml里的name字段完全一致,包括大小写和特殊符号
- 确认项目
验证pubspec.yaml配置
打开项目根目录的pubspec.yaml:- 确保文件缩进正确(YAML要求用2个空格缩进,不能用Tab),缩进错误会导致Flutter无法识别项目结构
- 检查是否误添加了干扰本地包引用的配置,比如错误的
dependencies或flutter下的配置项
清除Android Studio索引缓存
执行File -> Invalidate Caches...,选择Invalidate and Restart选项,彻底清除IDE的索引缓存。有时候IDE的文件索引没有及时更新,即使文件存在也会触发路径不存在的错误。确认项目结构规范
自定义的Dart文件必须放在lib/目录下,这是Flutter的标准项目结构。如果你的models目录不在lib/下,要么把文件移到lib/models/下,要么在pubspec.yaml中配置source字段(不推荐,尽量遵循标准结构)。强制同步依赖与索引
在Android Studio的终端依次执行:flutter clean flutter pub get执行完成后,右键点击项目根目录,选择
Flutter -> Flutter Pub Get,强制IDE同步项目依赖和文件索引。
内容的提问来源于stack exchange,提问作者Rfs
相关产品推荐
相关产品推荐

