Flutter 01 packages get failed

2019-03-06

目录:

  1. 问题
  2. 分析
  3. 解决
  4. 总结

1. 问题

环境:Mac OS + android studio 3.4 + Flutter

当我在 pubspec.yaml 添加 http: ^0.12.0+2,执行 Packages get,出现了如下问题。

1
2
3
4
5
Running "flutter packages get" in startup_namer...
Got socket error trying to find package cupertino_icons at https://pub.dartlang.org.
pub get failed (69) -- attempting retry 1 in 1 second...

Running "flutter packages get" (This is taking an unexpectedly long time.)

搜索答案尝试过了,Flutter 中文社区提供的镜像也尝试过设置好本地变量,如果没有试过的可以试试这个,看了挺多的都是通过这个解决的。但是我的依旧不可以!!!

1
2
export PUB_HOSTED_URL=https://pub.flutter-io.cn
export FLUTTER_STORAGE_BASE_URL=https://storage.flutter-io.cn

2. 分析

[1] 关闭 SS(科学上网),设置环境变量如上,没有解决。
[2] 开启 SS(科学上网),问题依旧。网络没有问题,可以正常访问外网,那么说明在哪被拦截了,要么是 android studio 的问题,要是 Flutter 的问题,设置 android studio 代理 HTTP Proxy,依然没有作用,排除工具问题 。进入 /flutter/packages/flutter_tools sdk ,设置代理,依然不可行。
[3] 回盘,中国镜像是长远的选择。除了 flutter-io.cn 是否有其他的镜像可以用?

3. 解决

打开 Terminal,输入 vi ./.bash_profile,回车;
回车(查看模式),输入i,进入insert模式;
添加环境变量;

1
2
export PUB_HOSTED_URL=https://dart-pub.mirrors.sjtug.sjtu.edu.cn
export FLUTTER_STORAGE_BASE_URL=https://mirrors.sjtug.sjtu.edu.cn

编辑完成,点击“esc键,退出insert模式”, 然后输入 :wq! ,回车,保存成功;
输入“source ./.bash_profile”,让环境变量生效;
重新打开终端,环境变量就会生效了。

2019-7-5

重新打开 android studio ,运行 packages get , 得到如下。

1
2
3
/Users/sweetgirl/flutter/bin/flutter --no-color packages get
Running "flutter packages get" in flutter_demo... 0.8s
Process finished with exit code 0

###4. 总结

因为个人便喜欢科学上网,所以在科学上网上折腾了好久,山穷水尽疑无路,其实路被我自己屏蔽了~
Flutter 多坑,那就踩着坑过吧。