☰
FVM 与 Flutter 环境配置完全指南:从安装到日常使用
2026/10/7 10:01:07 网站建设 项目流程

FVM 与 Flutter 环境配置完全指南:从安装到日常使用

本文整理自 Flutter 多版本管理工具 FVM 的官方文档与社区实践,覆盖安装配置、常用命令、环境变量与国内镜像加速,适合作为日常速查手册收藏。

一、FVM 是什么,为什么值得用

在 Flutter 开发中,不同项目往往依赖不同版本的 Flutter SDK。手动切换全局 SDK 不仅低效,还容易导致团队协作时版本不一致。FVM(Flutter Version Management)正是为解决这一问题而设计的工具。

FVM 的核心能力包括:

  • 项目级版本控制:每个项目可锁定独立的 Flutter SDK 版本,互不干扰
  • 快速切换:版本切换无需重新下载 SDK,秒级完成
  • 团队一致性:通过.fvmrc文件记录项目版本,团队成员一键还原
  • 缓存可视化:清晰查看哪些 SDK 被使用、哪些未被引用,便于清理

二、安装 FVM

2.1 前置条件

建议先按 Flutter 官方安装指南全局安装一个 Flutter SDK,作为机器上的“主版本”。FVM 则用于管理各项目的特定版本。

2.2 安装方式

方式一:Dart Pub 全局激活(跨平台通用)

前提是系统中已有可用的dart命令(通常随 Flutter 一起安装)。

dart pub global activate fvm

安装后需确保 Dart 全局包的 bin 目录已加入系统 PATH。Windows 下该目录通常为:

C:\Users\<用户名>\AppData\Local\Pub\Cache\bin

macOS/Linux 下通常为:

~/.pub-cache/bin

方式二:Homebrew(macOS/Linux)

brewinstallfvm

方式三:Chocolatey(Windows)

choco install fvm

方式四:独立安装脚本(推荐)

curl-fsSLhttps://fvm.app/install.sh|bash

如需指定版本:curl -fsSL https://fvm.app/install.sh | bash -s -- <version>

2.3 验证安装

关闭当前终端,重新打开后执行:

fvm--version

若提示“command not found”,请检查 FVM 的安装目录是否已加入 PATH。

三、FVM 常用命令速查

3.1 版本安装与切换

命令作用示例
fvm install [version]下载并缓存指定 Flutter 版本fvm install 3.22.0
fvm install根据项目.fvmrc安装对应版本fvm install
fvm use [version]为当前项目锁定 Flutter 版本fvm use 3.22.0
fvm use stable --pin锁定当前 stable 最新版fvm use stable --pin
fvm global [version]设置全局默认 Flutter 版本fvm global 3.22.0
fvm remove [version]删除指定版本 SDKfvm remove 3.19.0
fvm destroy清空 FVM 所有缓存fvm destroy

fvm use执行后会在项目根目录生成.fvmrc文件,并创建.fvm/flutter_sdk符号链接。.fvmrc应提交到 Git,确保团队一致。

3.2 版本查看与管理

命令作用
fvm list/fvm ls列出已安装的所有 Flutter 版本
fvm releases列出可安装的 Flutter 版本(需联网)
fvm cleanup查看可清理的未使用 SDK 和补丁升级
fvm cleanup --remove-unused移除未使用的 SDK

fvm list会标注每个 SDK 的状态:Local(被当前目录项目锁定)、Global(全局默认)、Unused(无项目引用)。Unused仅作为清理提示,FVM 不会自动删除。

3.3 执行 Flutter/Dart 命令

使用 FVM 管理版本后,所有 Flutter 命令需加fvm前缀:

fvm flutter doctor fvm flutter pub get fvm flutter run fvm flutter build apk--releasefvm dart analyze fvm dartformat.

FVM 按以下优先级查找 SDK:项目.fvmrc→ 全局版本 → 系统 PATH 中的 Flutter。

3.4 临时使用特定版本

fvm spawn3.22.0test

该命令使用指定版本执行一次操作,不改变项目的锁定版本。

四、环境变量配置

4.1 必须配置的环境变量


方法一:当前会话临时设置(PowerShell 语法)

在 PowerShell 中,临时设置环境变量用$env:前缀:

$env:PUB_HOSTED_URL="https://mirrors.cloud.tencent.com/dart-pub"$env:FLUTTER_STORAGE_BASE_URL="https://mirrors.cloud.tencent.com/flutter"$env:FVM_FLUTTER_URL="https://gitee.com/mirrors/Flutter.git"

注意:这种方式只在当前 PowerShell 窗口有效,关闭窗口后失效。

方法二:永久设置(推荐,用户级)

使用[Environment]::SetEnvironmentVariable写入系统环境变量:

[Environment]::SetEnvironmentVariable("PUB_HOSTED_URL","https://mirrors.cloud.tencent.com/dart-pub","User")[Environment]::SetEnvironmentVariable("FLUTTER_STORAGE_BASE_URL","https://mirrors.cloud.tencent.com/flutter","User")[Environment]::SetEnvironmentVariable("FVM_FLUTTER_URL","https://gitee.com/mirrors/Flutter.git","User")

设置完后需要重启终端(或新开一个 PowerShell 窗口)才会生效。

方法三:用 setx 命令(永久,但当前窗口不生效)

setx PUB_HOSTED_URL"https://mirrors.cloud.tencent.com/dart-pub"setx FLUTTER_STORAGE_BASE_URL"https://mirrors.cloud.tencent.com/flutter"setx FVM_FLUTTER_URL"https://gitee.com/mirrors/Flutter.git"

setx也是写入永久环境变量,但当前窗口不会立即生效,需要重开终端。

验证是否设置成功

echo$env:PUB_HOSTED_URLecho$env:FLUTTER_STORAGE_BASE_URLecho$env:FVM_FLUTTER_URL

其中两个变量是用于让 Flutter 和 Dart Pub 从国内镜像下载资源,国内开发者强烈建议配置:

变量名用途推荐值
PUB_HOSTED_URLDart 包仓库地址https://pub.flutter-io.cn
FLUTTER_STORAGE_BASE_URLFlutter 二进制资源地址https://storage.flutter-io.cn

Windows(PowerShell 永久设置):

[System.Environment]::SetEnvironmentVariable("PUB_HOSTED_URL","https://pub.flutter-io.cn","User")[System.Environment]::SetEnvironmentVariable("FLUTTER_STORAGE_BASE_URL","https://storage.flutter-io.cn","User")

设置后需新开终端窗口生效。

macOS/Linux:

在~/.zshrc或~/.bash_profile中添加:

exportPUB_HOSTED_URL="https://pub.flutter-io.cn"exportFLUTTER_STORAGE_BASE_URL="https://storage.flutter-io.cn"

然后source ~/.zshrc生效。

4.2 FVM 专用环境变量

变量名用途说明
FVM_FLUTTER_URL自定义 Flutter SDK 的 Git 仓库地址国内加速关键变量
FVM_CACHE_PATH自定义 FVM 缓存目录默认~/.fvm
FVM_GIT_CACHE_PATHGit 缓存位置可加速重复下载

FVM_FLUTTER_URL国内镜像推荐值:

exportFVM_FLUTTER_URL="https://gitee.com/mirrors/Flutter.git"

或使用清华 TUNA 镜像:

exportFVM_FLUTTER_URL="https://mirrors.tuna.tsinghua.edu.cn/git/flutter-sdk.git"

FVM 默认从 GitHub 拉取 Flutter SDK,国内访问不稳定。设置此变量后,fvm install会改从国内镜像拉取。

Windows 设置方式:

[System.Environment]::SetEnvironmentVariable("FVM_FLUTTER_URL","https://gitee.com/mirrors/Flutter.git","User")

五、国内镜像加速完整方案

5.1 镜像源对比

镜像源PUB_HOSTED_URLFLUTTER_STORAGE_BASE_URL特点
腾讯云https://mirrors.cloud.tencent.com/dart-pubhttps://mirrors.cloud.tencent.com/flutter稳定,社区推荐
阿里云https://mirrors.aliyun.com/dart-pubhttps://mirrors.aliyun.com/flutter更新频率高
上海交大https://mirror.sjtu.edu.cn/dart-pubhttps://mirror.sjtu.edu.cn教育网友好
CFUGhttps://pub.flutter-io.cnhttps://storage.flutter-io.cnFlutter 中文社区维护

5.2 推荐配置组合

# Dart 包镜像(腾讯云)exportPUB_HOSTED_URL="https://mirrors.cloud.tencent.com/dart-pub"# Flutter 资源镜像(腾讯云)exportFLUTTER_STORAGE_BASE_URL="https://mirrors.cloud.tencent.com/flutter"# FVM 拉取 SDK 的 Git 镜像(Gitee)exportFVM_FLUTTER_URL="https://gitee.com/mirrors/Flutter.git"

这一组合在社区中被广泛验证,兼顾速度与稳定性。

5.3 验证配置

新开终端后执行:

echo$env:FLUTTER_STORAGE_BASE_URL# PowerShellecho$FLUTTER_STORAGE_BASE_URL# bash/zsh

确认输出与设置值一致后,再运行fvm install。

5.4 如果镜像仍慢:手动下载 SDK

若fvm install持续超时,可从国内镜像手动下载 Flutter SDK 压缩包,解压后放入 FVM 的缓存目录,再执行fvm use让 FVM 识别。

腾讯云 Flutter 镜像地址:

https://mirrors.cloud.tencent.com/flutter/

下载对应版本的 Windows/macOS/Linux 压缩包,解压到~/.fvm/versions/<版本号>目录即可。

六、常见问题排查

6.1fvm命令找不到

确认 FVM 安装目录已加入 PATH。Windows 下通常为:

%LOCALAPPDATA%\Pub\Cache\bin

macOS/Linux 下为~/.pub-cache/bin。添加后需新开终端。

6.2fvm use后 Flutter 版本未变化

检查项目根目录是否存在.fvmrc文件。如果没有,说明fvm use未成功执行。在项目目录中重新执行fvm use <version>。

6.3fvm install超时或失败

优先检查FVM_FLUTTER_URL是否已设置为国内镜像。未设置时 FVM 会从 GitHub 拉取,国内访问容易超时。

6.4 安装后fvm list显示 “needs setup”

执行以下命令补全 SDK 依赖:

fvminstall<version>--setup

--setup会下载 SDK 所需的额外资源,确保版本可用。

6.5 IDE 识别不到 FVM 管理的 Flutter

VS Code 用户可在.vscode/settings.json中设置:

{"dart.flutterSdkPath":".fvm/flutter_sdk"}

Android Studio 用户可在设置中将 Flutter SDK 路径指向项目的.fvm/flutter_sdk目录。

七、最佳实践清单

实践说明
提交.fvmrc到 Git保证团队成员使用同一 Flutter 版本
.fvm/flutter_sdk加入.gitignore符号链接不应提交
始终使用fvm flutter前缀避免误用系统全局 Flutter 版本
定期运行fvm cleanup清理未使用的 SDK,节省磁盘
国内环境配置三个镜像变量PUB_HOSTED_URL、FLUTTER_STORAGE_BASE_URL、FVM_FLUTTER_URL
版本号精确到补丁如3.22.0而非3.22,避免解析歧义

八、完整安装流程速览

# 1. 安装 FVMdart pub global activate fvm# 2. 新开终端,配置国内镜像(以 PowerShell 为例)[System.Environment]::SetEnvironmentVariable("PUB_HOSTED_URL","https://mirrors.cloud.tencent.com/dart-pub","User")[System.Environment]::SetEnvironmentVariable("FLUTTER_STORAGE_BASE_URL","https://mirrors.cloud.tencent.com/flutter","User")[System.Environment]::SetEnvironmentVariable("FVM_FLUTTER_URL","https://gitee.com/mirrors/Flutter.git","User")# 3. 再开新终端,安装指定 Flutter 版本fvminstall3.22.0# 4. 进入项目目录,锁定版本cd/path/to/project fvm use3.22.0# 5. 验证fvm flutter--version# 6. 用 FVM 版本执行构建fvm flutter build apk--release

以上就是 FVM 与 Flutter 环境配置的完整速查手册。建议收藏本文,后续遇到版本切换、镜像配置或命令遗忘时直接检索即可。

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询