Flutter 项目里跑依赖时,突然冒出:
Could not find a file named "pubspec.yaml" in https://github.com/xxxx/xxxx.git 7a4c33425ddd78c54aba07d86f3f9a4a0051769b.
pub get failed (1)
Process finished with exit code 1第一眼会以为是依赖仓库地址写错、或那个 commit 里真的没有 pubspec.yaml。有时确实是 git 依赖路径问题;但我碰到的这一次,清本地 pub 缓存就好了。
原因(当时的判断)
pub / flutter pub get 会把 git 依赖缓存在本机(常见在 Flutter 相关的 .pub-cache 目录)。缓存坏了、半截 clone、或旧缓存和当前 pubspec 对不上时,工具仍去旧缓存里找 pubspec.yaml,找不到就报上面那句——看起来像远端没有文件,其实是本地缓存在捣乱。
解决办法
- 删除 `flutter/.pub-cache` 文件夹(按你机器上 Flutter SDK / 缓存实际路径操作;有的环境是用户目录下的
.pub-cache)。 - 再执行:
flutter packages get(等价于现在更常用的 flutter pub get。)
清缓存后重新拉取依赖,报错消失。
若仍失败再查
pubspec.yaml里 git 依赖的url/ref/path是否指向包含pubspec.yaml的目录;- 网络能否访问该 GitHub 仓库;
- 是否误把普通 git 仓库当成 Flutter 包引用。
为何记下
一人做 Flutter,依赖一多,缓存类问题比「代码写错」更耗时间。看到 Could not find a file named "pubspec.yaml" ... pub get failed (1),先别急着重写依赖声明——删坏掉的 pub-cache 再 get,往往五分钟搞定。




No comments yet