「 Flutter + zsh 」设置镜像后 macOS 执行 flutter packages get / flutter pub get 依然慢

2021-12-30 16:30:43 浏览数 (1)

一、前言

  • 国内使用 Flutter 时,会出现 flutter 下载/更新慢的问题
  • 此时如果我们去网上搜索都是让添加镜像,但有时添加了还是不行
  • 这里我详细的总结了下解决方法

二、国内镜像

  • 首先还是中规中矩,先讲一下设置镜像的方法
  • 把个人根文件夹 /Users/用户名 下,设置成显示隐藏文件
  • 这里我们看到一个名为 .bash_profile 的文件,这类似系统环境变量的配置文件
  • 双击打开后,我们在里面添加上这两行即可:
  • 为了方便大家 CV ,具体内容如下:

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

  • 修改完在命令行 source ~/.bash_profile 一下即可

三、依然失败

  • 这时候大多数人的问题都迎刃而解,但是一部分同学还是不行
  • 比如由于我使用的是 iTerm2,所以我终端使用的是 zsh,当然还有其他情况
  • 差了些文章 Mac环境搭建Flurrer问题解决 后,我发现终端启动时 ~/.bash_profile 将不会被加载
  • 所以解决办法就是:
3.1 修改 ~/.zshrc ,在其中添加:
代码语言:javascript复制
source ~/.bash_profile
  • 然后重启下终端,别急还有:
3.2 终端优先执行下面三条指令尝试
代码语言:javascript复制
export PUB_HOSTED_URL=https://pub.flutter-io.cn
export FLUTTER_STORAGE_BASE_URL=https://storage.flutter-io.cn
flutter packages get
  • 要注意的是,如果是对你的项目进行 flutter packages get / flutter pub get ,那么执行前先 cd 到项目的目录下哈
  • 这个方法的作用在于修改临时环境的配置
  • 基本上这样操作之后就能搞定了,如果还不行的话可以参考以下方案:
3.3 手动下载插件直接放本地使用
  • 如果网络正常,镜像正常,环境正常,三条指令执行后,还是依旧会出现卡在 flutter packages get 的情况
  • 可以考虑手动下载插件直接放本地使用。
  • 这里就直接 poflutter 插件默认本地路径:

flutterSDK 目录 /.pub-cache/hosted/当前使用的镜像地址文件夹/

3.3.1 参考示例:
  • /usr/local/flutter1.5.4/.pub-cache/hosted/pub.flutter-io.cn/hosted 文件夹下,可以发现几个以 flutter 镜像域名命名的文件夹
代码语言:javascript复制
./hosted
.../dart-pub.mirrors.sjtug.sjtu.edu.cnG/
.../pub.dartlang.org/
.../pub.flutter-io.cn/
  • 可见下载的依赖包都是按不同镜像分目录存放,所以每切一回镜像,都需要重新下载所有项目的依赖插件
  • 因为加载的插件较多,也就导致等待时间非常久,这也是切换了几个国内镜像依旧卡 flutter packages get 很久的原因。
3.3.2 解决方法:
  • 第一步,按需选择操作步骤:

1、耐心等待下载(若下载的插件数量非常多,等待的耗时会比较长) 2、将其他镜像文件夹下已下载的插件文件,拷贝到当前使用的镜像的目录下,并执行 flutter packages get (避免有遗漏的插件) 3、手动到插件的 github 下载文件,放到当前使用的镜像目录下

  • 第二步,执行 flutter run
  • 大功告成~~

总结

  • 国内敲代码实属难以享受编程的乐趣,套路一套一套的
  • 本来环境条件就差,家在上每个人运行的情况又不一样,这就导致大家遇到问题千奇百怪
  • 有时我自己也解决不了很多问题,希望大家遇到每个问题时能冷静分析,不要砸电脑 hhh
  • 最后,欢迎大家的三联关注支持,我们下期再见~

0 人点赞