Flutter 国内安装指南

适用于 macOS + FVM,目标是稳定安装指定 Flutter 版本,并尽量避开 Google 官方源访问慢的问题。

推荐镜像组合

实测后建议使用:

bash 复制代码
# Dart / Flutter 依赖包
export PUB_HOSTED_URL=https://pub.flutter-io.cn

# Flutter artifacts / Dart SDK / iOS tools 等二进制资源
export FLUTTER_STORAGE_BASE_URL=https://storage.flutter-io.cn

# FVM 拉取 Flutter SDK git 仓库
export FVM_FLUTTER_URL=https://mirrors.bfsu.edu.cn/git/flutter-sdk.git

# FVM 缓存目录
export FVM_CACHE_PATH="$HOME/fvm"

# 让全局 flutter 指向 FVM 默认版本
export PATH="$HOME/fvm/default/bin:$HOME/.pub-cache/bin:$PATH"

把上面内容写入 ~/.zshrc,然后执行:

bash 复制代码
source ~/.zshrc

安装 FVM

如果还没安装 FVM:

bash 复制代码
brew tap leoafarias/fvm
brew install fvm

确认版本:

css 复制代码
fvm --version

配置 FVM

perl 复制代码
fvm config \
  --cache-path "$HOME/fvm" \
  --flutter-url https://mirrors.bfsu.edu.cn/git/flutter-sdk.git \
  --no-use-git-cache

说明:

  • --flutter-url 指定 FVM 拉 Flutter SDK 的 git 镜像。
  • --no-use-git-cache 避免首次创建共享 git cache 卡住;只装少量版本时更直接。

安装 Flutter

例如安装 3.35.4

复制代码
fvm install 3.35.4

安装成功后会看到类似:

arduino 复制代码
Flutter 3.35.4 • channel stable • https://mirrors.bfsu.edu.cn/git/flutter-sdk.git
Tools • Dart 3.9.2

设置项目版本

进入项目目录:

bash 复制代码
cd /path/to/your/flutter/project
fvm use 3.35.4

如果当前只有这一个版本,也可以设为全局默认:

csharp 复制代码
fvm global 3.35.4

确认:

css 复制代码
fvm list
flutter --version
fvm flutter --version

iOS 模拟器启动注意

如果 simctl 不可用,通常是 Xcode 没被选中:

csharp 复制代码
xcode-select -p

如果输出是:

复制代码
/Library/Developer/CommandLineTools

可以临时使用完整 Xcode:

javascript 复制代码
export DEVELOPER_DIR=/Applications/Xcode.app/Contents/Developer

然后启动模拟器并运行:

arduino 复制代码
fvm flutter devices
fvm flutter run -d <device-id>

清理建议

正常安装后,$HOME/fvm/versions/<version> 占用 2GB+ 是正常的,包含:

  • Flutter SDK git 仓库
  • Dart SDK
  • iOS/macOS artifacts
  • Flutter tools

不要随便清 bin/cache,否则下次运行会重新下载。

可以安全清理的通常是:

bash 复制代码
rm -f "$HOME/fvm/cache.git.lock"
rm -rf "$HOME/fvm/cache.git.tmp."*

如果确认没有正在运行的 fvm install,这些是中断安装留下的临时文件。

相关推荐
玄星啊2 小时前
AI 编程的第 30 天,我怀念古法 Coding 了
前端·ai编程
Jolyne_2 小时前
Angular基础速通
前端·angular.js
锋行天下3 小时前
半秒开!还有谁!!!
前端·vue.js·架构
代码搬运媛4 小时前
git 下中文文件名乱码问题解决
前端
CaffeinePro4 小时前
告别知识点零散!React零基础通关,从环境搭建到Ant Design页面实战
前端·react.js
cidy_985 小时前
水龙头领不到测试币?手把手用 Hardhat 本地环境零门槛学以太坊交易
前端
因_崔斯汀5 小时前
Three.js 3D 地图特效与材质实现指南
前端
angerdream5 小时前
手把手编写儿童手机远程监控App之vue3用 AI Agent生成菜单
前端
cidy_985 小时前
Git Pull 代码冲突后完整回退教程
前端