Windows10系统下执行Flutter命令长期卡在flutter pub get阶段如何解决
问题根因
- Flutter官方默认的Pub包管理源和资源存储服务器部署在境外,国内网络访问跨境链路存在不稳定、限速甚至连接中断的情况,普通网络正常不代表能正常访问境外Pub源
- 首次运行Flutter指令时,会自动触发flutter_tools依赖包的拉取逻辑,该步骤完全依赖Pub源服务,未配置国内镜像时大概率会陷入长时间无响应
- Windows系统防火墙、第三方安全软件可能拦截了Flutter进程的网络请求,导致拉包请求无法正常发送
解决方案
1. 配置国内镜像环境变量
- 右键「此电脑」依次选择「属性」→「高级系统设置」→「环境变量」
- 在系统变量区域新增两个变量:
- 变量名:
PUB_HOSTED_URL,变量值:https://pub.flutter-io.cn - 变量名:
FLUTTER_STORAGE_BASE_URL,变量值:https://storage.flutter-io.cn
- 变量名:
- 保存配置后关闭所有已打开的CMD/PowerShell窗口,重新启动终端使变量生效
2. 重置Flutter缓存并初始化
在新打开的终端中依次执行以下命令:
flutter clean flutter doctor
此时Flutter会通过国内镜像拉取flutter_tools所需的全部依赖,正常1-3分钟即可完成初始化。
3. 功能验证
执行项目创建命令测试是否恢复正常:
flutter create first_app
如果仍然存在卡住的情况,按以下顺序排查:
- 关闭正在运行的代理工具,代理配置异常会导致镜像访问失败
- 暂时关闭Windows Defender防火墙、第三方杀毒软件后重试
- 在终端执行
echo %PUB_HOSTED_URL%,确认返回的地址和配置的镜像地址一致,排除环境变量配置错误问题
内容的提问来源于stack exchange,提问作者Benedict Gab
相关产品推荐
相关产品推荐

