本篇主要講述Mac環(huán)境下的配置,其他操作系統(tǒng)的用戶可相應(yīng)參考。
問題描述
情況一: 為項目添加新的依賴包,一直卡flutter pub get / flutter packages get未能往下執(zhí)行。懷疑是由于默認鏡像在國外導(dǎo)致,于是按照官網(wǎng)修改鏡像教程將鏡像修改為國內(nèi)鏡像,并重新執(zhí)行命令安裝;結(jié)果問題照樣出現(xiàn)。
試過切換幾個國內(nèi)鏡像,依舊會出現(xiàn)卡在flutter packages get的情況;網(wǎng)絡(luò)正常,鏡像正常,環(huán)境正常,就是不行。
情況二:

Failed to retrieve the Dart SDK from: https://storage.googleapis.com/flutter_infra/flutter/b1cb0d9e9b44393efeb735f664672a74732cdc8b/dart-sdk-darwin-x64.zip
If you're located in China, please see this page:
https://flutter.dev/community/china
發(fā)現(xiàn)原因
折騰再三,決定手動下載插件直接放本地使用,卻發(fā)現(xiàn)怎么樣都找不到本地默認的插件目錄…… 各種找資料找不到,最后還是靠IDE定位發(fā)現(xiàn)了。
這里就直接po出flutter插件默認本地路徑:
flutter的SDK目錄/.pub-cache/hosted/當(dāng)前使用的鏡像地址文件夾/
參考示例:
/usr/local/flutter1.5.4/.pub-cache/hosted/pub.flutter-io.cn/
#在`hosted`文件夾下,可以發(fā)現(xiàn)幾個以flutter鏡像域名命名的文件夾
./hosted
.../dart-pub.mirrors.sjtug.sjtu.edu.cn%47/
.../pub.dartlang.org/
.../pub.flutter-io.cn/
可見下載的依賴包都是按不同鏡像分目錄存放,所以每切一回鏡像,都需要重新下載所有項目的依賴插件;因為加載的插件較多,也就導(dǎo)致等待時間非常久,這也是切換了幾個國內(nèi)鏡像依舊卡flutter packages get很久的原因。
解決問題
知道問題原因也就好解決了:
第一步,繼續(xù)使用國內(nèi)正??捎玫溺R像:
# 官方提供的國內(nèi)鏡像
export PUB_HOSTED_URL=https://pub.flutter-io.cn
export FLUTTER_STORAGE_BASE_URL=https://storage.flutter-io.cn
# 上海交通大學(xué)提供的國內(nèi)鏡像
export FLUTTER_STORAGE_BASE_URL=https://mirrors.sjtug.sjtu.edu.cn/
export PUB_HOSTED_URL=https://dart-pub.mirrors.sjtug.sjtu.edu.cn/
第二步,按需選擇操作步驟:
- 耐心等待下載(若下載的插件數(shù)量非常多,等待的耗時會比較長)
- 將其他鏡像文件夾下已下載的插件文件,拷貝到當(dāng)前使用的鏡像的目錄下,并執(zhí)行
flutter packages get(避免有遺漏的插件) - 手動到插件的github下載文件,放到當(dāng)前使用的鏡像目錄下
第三步,愉快地執(zhí)行flutter run。
第四步,給本文作者點個小小的贊,施主的bug和坑可少大半~(手動狗臉.jpg)