外观
Flutter / Dart pub 换源加速
Flutter 开发在国内的两大卡点:flutter pub get 拉包慢、Flutter SDK / engine 下载慢。两个都靠环境变量换镜像解决。
一、配置镜像环境变量(核心)
设置两个环境变量,分别管pub 包和Flutter 存储(SDK/engine):
Linux / macOS(写进 ~/.zshrc / ~/.bashrc):
bash
export PUB_HOSTED_URL="https://pub.flutter-io.cn"
export FLUTTER_STORAGE_BASE_URL="https://storage.flutter-io.cn"Windows PowerShell(临时)或在系统环境变量里永久添加:
powershell
$env:PUB_HOSTED_URL = "https://pub.flutter-io.cn"
$env:FLUTTER_STORAGE_BASE_URL = "https://storage.flutter-io.cn"
flutter-io.cn是 Flutter 中国团队维护的官方镜像。设置后flutter pub get、flutter doctor、SDK 相关下载都会走它。
二、验证
bash
echo $PUB_HOSTED_URL # 确认变量生效
flutter pub get # 观察拉包速度新开的终端要确保加载了配置(source ~/.zshrc)。
三、其他可选镜像
| 用途 | 镜像 |
|---|---|
| pub 包(PUB_HOSTED_URL) | https://pub.flutter-io.cn 或 https://mirrors.tuna.tsinghua.edu.cn/dart-pub |
| Flutter 存储(STORAGE) | https://storage.flutter-io.cn |
四、Android 相关依赖也慢?
Flutter 项目构建 APK 时,还会拉 Gradle、Android 依赖,这部分归 Gradle/Maven 管:
- 见 Maven / Gradle 换源(务必加
google仓库镜像); - Android SDK 组件下载慢见 Android SDK 下载慢。
五、CI / Docker 里使用
在 CI 或 Docker 构建 Flutter 项目时,把这两个变量写进环境即可:
dockerfile
ENV PUB_HOSTED_URL=https://pub.flutter-io.cn
ENV FLUTTER_STORAGE_BASE_URL=https://storage.flutter-io.cn常见问题
Q:设了变量 flutter pub get 还是慢?
- 确认变量在当前终端生效;IDE(VS Code / Android Studio)内置终端可能没继承,需重启 IDE。
Q:flutter upgrade / 下 engine 还是慢?
- 确认
FLUTTER_STORAGE_BASE_URL已设置——它专门管 SDK/engine 下载。
Q:企业内网 / 需要代理?
- 镜像无效时给 git 和 shell 配 代理。
小结
- 两个环境变量:
PUB_HOSTED_URL(包)+FLUTTER_STORAGE_BASE_URL(SDK)。 - IDE 内置终端记得重启以继承变量。
- 构建 Android 产物的慢是 Gradle/SDK 的事,另见对应文章。
本文仅供技术学习与研究,请遵守所在国家/地区法律法规。