Flutter小记8修复几个pub cache引起的错误 Could not find ... “pubspec.yaml“ 或 Flutter SDK is not available
Posted 李华明Himi
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Flutter小记8修复几个pub cache引起的错误 Could not find ... “pubspec.yaml“ 或 Flutter SDK is not available相关的知识,希望对你有一定的参考价值。
Flutter 有两个 pub cache环境,一个是dart pub cache ,一个是 Flutter pub cache, 有时因为本地安装了dart ,android studio 中也安装了 dart ,另外 flutter sdk 中自带也有dart ,那么很容易混淆乱掉后出现:
Could not find a file named "pubspec.yaml" in "/Users/<username>/.pub-cache/ ....
因此彻底解决步骤:
1. 命令行: where dart
先确认是否link了多个dart,如果有多个,只保留flutter sdk路径下的,一般路径为:
flutter sdk/bin/dart
其余都使用 unlink xxx 把link的路径都清掉
2. 保证dart命令使用的是flutter sdk/bin 中的 dart ,如果使用的使用的其他地方安装的dart,那么后续加入你使用 dart run ffigen 诸如此类的命令时,还会提醒找不到flutter sdk的提示:[The Flutter SDK is not available.] 因此最好统一都使用flutter中的dart
3. 由于dart 默认的pub cache 在 ~/.pub-cache,而flutter 默认的 pub cache 在 你的 flutte sdk/.pub-cache, 因此我们可以通过配置环境变 PUB_CACHE 来指定dart 的cache路径,保证与flutter 的一致。官方介绍: https://dart.dev/tools/pub/glossary#system-cache
以上是关于Flutter小记8修复几个pub cache引起的错误 Could not find ... “pubspec.yaml“ 或 Flutter SDK is not available的主要内容,如果未能解决你的问题,请参考以下文章
Flutter小记8修复几个pub cache引起的错误 Could not find ... “pubspec.yaml“ 或 Flutter SDK is not available
Flutter build 给出 .pub-cache cloud firestore 错误
在 Flutter sdk 中意外删除了 pub-cache