FVM 使用指南:Flutter 多版本安装与切换
手头多个 Flutter 项目版本不一?用 FVM 统一管理 Flutter SDK:下载安装、缓存目录、环境变量、权限问题一次讲清,从此
fvm flutter run一套命令走天下。
背景
Flutter 版本迭代很快,不同项目锁定的 Flutter 版本可能完全不同。如果全局只装一个 Flutter,切换项目时要么手动替换 SDK,要么反复重装,非常痛苦。
FVM(Flutter Version Management)就是来解决这个问题的:它像 nvm 管理 Node 一样管理 Flutter 版本,可以同时安装多个版本并按项目切换,还能一键设置全局默认版本。
本文以 Windows 环境为例,完整演示 FVM 的安装、配置与日常使用。
一、安装前:清理独立安装的 Flutter
⚠️ 注意:如果你之前已经单独安装过 Flutter,并且配置过 Flutter 的环境变量,建议先卸载 Flutter、删除环境变量,再使用 FVM 安装。否则两套 Flutter 的环境变量会互相干扰,导致
flutter命令指向混乱。
清理步骤:
- 卸载之前安装的 Flutter SDK(删除其安装目录)
- 删除环境变量
PATH中指向原 Flutterbin目录的条目 - 如有
PUB_HOSTED_URL、FLUTTER_STORAGE_BASE_URL等用户变量,可一并清理(FVM 装好后会重新配置)
二、安装 FVM
2.1 下载安装包
- 访问 https://github.com/leoafarias/fvm/releases
- 在 Assets 中点击"更多",找到自己系统的安装包。比如 Windows 64 位就下载
fvm-4.0.0-windows-x64.zip - 解压 zip 包到自己想要存放的目录,比如
D:\workspace\Flutter\fvm-4.0.0-windows-x64
2.2 配置 PATH
在环境变量的 PATH 中添加解压目录:
1 | D:\workspace\Flutter\fvm-4.0.0-windows-x64 |
2.3 验证安装
打开命令行,输入:
1 | fvm --version |
如果输出 4.0.0 则说明安装成功。
三、配置 Flutter 安装位置
FVM 默认会把 Flutter 装到用户目录,可以提前指定缓存路径,把 SDK 集中放到自己习惯的目录:
1 | fvm config --cache-path "D:\workspace\Flutter\fvm_versions" |
设置之后,所有 Flutter 版本都会安装到 D:\workspace\Flutter\fvm_versions\versions 文件夹中。
四、使用 FVM 安装 Flutter
💡 提示:使用 FVM 安装 Flutter 时,需要以管理员身份打开命令行,并且开着 VPN(需要访问 GitHub 下载 SDK)。
4.1 FVM 常用命令
| 命令 | 作用 |
|---|---|
fvm releases |
查看所有可安装的 Flutter 版本 |
fvm --version |
查看当前 FVM 版本 |
fvm list |
查看已安装的 Flutter 版本 |
fvm install stable |
安装 stable 版本 |
fvm use stable |
切换 stable 版本(未安装会自动安装) |
fvm global stable |
设置 stable 为全局版本 |
fvm uninstall stable |
删除 stable 版本 |
fvm doctor |
检查 FVM 环境 |
fvm flutter doctor |
检查 Flutter 环境 |
fvm flutter --version |
查看当前 Flutter 版本 |
fvm install 3.24.5 |
安装指定版本 Flutter |
fvm use 3.24.5 |
切换指定版本 |
fvm global 3.24.5 |
设置指定版本为全局版本 |
fvm uninstall 3.24.5 |
删除指定版本 |
4.2 安装与切换示例
1 | :: 安装最新 stable 版本 |
五、配置 Flutter 环境变量
使用 FVM 安装好所需 Flutter 版本后,还需要配置环境变量,让 flutter 命令可用。
5.1 PATH 中添加 Flutter bin 目录
在环境变量 PATH 中添加:
1 | D:\workspace\Flutter\fvm_versions\default\bin |
default目录会指向fvm global设置的全局版本,切换全局版本时无需再改 PATH。
5.2 配置国内镜像(加速 pub get)
另外还需要添加两个用户变量:
| 变量名 | 值 |
|---|---|
PUB_HOSTED_URL |
https://pub.flutter-io.cn |
FLUTTER_STORAGE_BASE_URL |
https://storage.flutter-io.cn |
配置之后,
flutter pub get会在任何设置了这两个变量的终端中,从 flutter-io.cn 国内镜像获取 package,下载速度大幅提升。
六、常见问题:非管理员终端使用 flutter 报权限不足
问题现象:FVM 安装 Flutter 时使用的是管理员身份打开的命令行,之后在非管理员身份打开的命令行中使用 flutter 命令,会报权限不够的错误。
原因:这是一个 Git 安全权限问题。FVM 使用 Git 来管理 Flutter SDK,而 Git 检测到目录的所有者与当前用户不匹配,出于安全考虑拒绝访问。
解决办法:信任 FVM 相关目录。
信任整个 FVM 目录:
1 | git config --global --add safe.directory D:/workspace/Flutter/fvm_versions |
信任单个版本:
1 | git config --global --add safe.directory D:/workspace/Flutter/fvm_versions/versions/stable |
💡 提示:如果之后又安装了新版本并报同样的错误,把对应版本目录也加入
safe.directory即可。
七、日常使用
使用 FVM 安装的 Flutter 之后,flutter 命令需要在前面都加上 fvm,例如:
1 | fvm flutter run |
查看已安装的 Flutter 版本:
1 | fvm list |
输出示例:
1 | C:\Windows\System32>fvm list |
| Version | Channel | Flutter Version | Dart Version | Release Date | Global | Local |
|---|---|---|---|---|---|---|
| stable | stable | 3.35.7 | 3.9.2 | Oct 23, 2025 | ✓ | ✓ |
| 3.24.5 | stable | 3.24.5 | 3.5.4 | Nov 14, 2024 |
可以看到 stable 已被标记为 Global(全局版本),3.24.5 则作为指定版本备用。
总结
FVM 的核心价值就是让多版本共存变得零负担:
- 安装:下载 zip → 解压 → 配 PATH →
fvm --version验证 - 配置:
fvm config --cache-path指定 SDK 安装位置 - 装版本:
fvm install <版本>+fvm global <版本>一键切换 - 配环境:PATH 指向
default\bin,加国内镜像变量加速下载 - 排错:权限不够时用
git config --global --add safe.directory信任目录 - 日常:所有 flutter 命令前加
fvm前缀
配套的 macOS 环境搭建方案可以参考《Flutter 开发环境搭建:FlyEnv + Android Studio + FVM》。
- 标题: FVM 使用指南:Flutter 多版本安装与切换
- 作者: Jerome Xiong
- 创建于 : 2026-08-15 21:30:00
- 更新于 : 2026-08-15 12:08:29
- 链接: https://jeromexiong.github.io/2026/08/15/工具/FVM-Flutter版本管理工具使用指南/
- 版权声明: 本文章采用 CC BY-NC-SA 4.0 进行许可。