搭建Flutter开发环境,使用VScode编辑器时,常见的一个错误就是:
Error (3): Unable to 'pub upgrade' flutter tool. Retrying in five seconds... (1 tries left) Error: 'pub upgrade' still failing after 10 tries. Building flutter tool... Running pub upgrade...
而且是无限重复的错误!让人头疼不已,本篇文章就来记录下这个问题出现的原因和解决办法!
前排提示,国内开发请先设置环境变量:
- PUB_HOSTED_URL="https://pub.flutter-io.cn"
- FLUTTER_STORAGE_BASE_URL="https://storage.flutter-io.cn"
首先,出现这个错一般有一个大前提,那就是使用了 Vscode
的 Flutter
拓展插件!当我们使用这个插件时,如果本地没有自己安装过 Flutter
,它会提示我们安装sdk,如果我们选择了这个插件自动安装 Flutter
,那么恭喜你,你在使用 VScode 创建/打开
Flutter项目时,大概率会出现这个问题!
此时,不要慌,老狗整理了出现这个问题两种比较靠谱的解决方案!接下来就详细介绍一下吧!
知道了问题所在,结合网络上的资料,已经可以大致确定两种解决方案,但道理上都是差不多的,那就是保证你的 Flutter
安装正确并可用!
作为程序员,当然希望一切都在自己的掌控之中,因此老狗推荐自己手动安装Flutter,那么第一步就是下载Flutter SDK
。
大家可以前往官方页面选择你要下载的 Flutter
版本,链接:https://docs.flutter.dev/release/archive
在其中找到 Stable channel
也就是稳定版,点击相应的版本号,即可开始下载!
下载成功后,你会得到一个 Flutter
压缩包,将其解压到你想要解压的目录即可,解压完成即安装完成!
接下来是我们 Java
程序员最熟悉的环节,配置环境变量!这里老狗直接将 bin
目录配置的系统 path
变量中了。
假如我们安装flutter的目录是:D:/flutter
,那么在 path
变量中新加一项:D:/flutter/bin
即可!就是这么简单!
配置完环境变量后,我们打开一个新的 CMD
窗口,运行 flutter doctor
即可开始检查 Flutter 相关的开发环境,如果有一些环境提示x
,不要慌,只要能正常开始检查,那么说明你的 Flutter
已经安装完成,剩下的环境错误再一一解决即可!
如果你的 flutter doctor
无法正常运行,那么可能你的环境变量配置有问题,请在检查一下吧~
Flutter SDK
目录如果测试结果成功了,也先别急着庆祝,现在使用vscode打开Flutter项目可能仍然会报错!这很可能是因为你的VSCode开发环境中的 Flutter SDK
目录没有指向你手动安装的 Flutter
引起的!所以我们要手动修改一下这个目录配置!修改方法如下:
- 在 VSCode 中,按下
Ctrl + ,
打开设置
,或通过菜单File -> Preferences -> Settings
打开设置
;- 在设置搜索框中,输入
flutter sdk
找到Flutter SDK Path
相关的设置项;- 点击
Edit in settings.json
(或者直接打开settings.json
)找到你的Flutter SDK
路径设置项,如:
json"dart.flutterSdkPath": "C:\\path\\to\\your\\flutter"
- 替换
C:\\path\\to\\your\\flutter
为你自定义安装Flutter
的路径,如:D:\\flutter
。如果没有这个配置项,则可以手动新增!- 保存配置,重启VsCode,大功告成!
经过上述步骤,你大概率已经完成了问题的修复!如果你有手动修改 C:\\path\\to\\your\\flutter
这个目录配置,你可以打开这个目录,你会发现安装插件时为你自动下载的 Flutter
,这就是我们即将要说的第二种解决办法!
如果你不想手动安装Flutter,那么请参照方案尝试解决这个报错吧!
首先请你回到方案一的第五步 5. 修改VsCode中的 Flutter SDK 目录
,参照其修改方式,找到你的默认Flutter安装目录,比如上面提到的 C:\\path\\to\\your\\flutter
,找到后打开这个文件夹!
打开文件夹后,请继续找到 bin
目录下的 cache
文件夹,删除它!
此时可能会提示你正在使用,无法删除,请你打开 资源管理器
,找到所有的 dart.exe
进程,停掉它们,然后再尝试删除 caceh
文件夹。
请参照方案一的 3. 配置环境变量
,只不过此时配置的目录是你找到的 C:\\path\\to\\your\\flutter
目录!
如果你配置完了环境变量,此时打开一个新的 CMD 窗口并执行 flutter pub cache repair
,这将重新下载你的 Flutter 依赖缓存,重新下载后,你就可以尝试执行 flutter doctor
了!
如果你能成功运行 flutter doctor
, 现在你应该已经修复了本文的错误了!
本文作者:DingDangDog
本文链接:
版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!