Fvm安装步骤(Windows / 独立安装)
2026/9/7 0:49:22 网站建设 项目流程

FVM 使用说明(Windows / 独立安装)

适用于 FVM4.x(如 4.0.5)。推荐使用 GitHub Releases 的Windows 独立安装包,不要与dart pub global activate fvm混用(两套并存时容易指到旧版)。


介绍

FVM(Flutter Version Management)是 Flutter 的版本管理工具,作用类似 Node 的 nvm:在同一台电脑上安装、切换多套 Flutter SDK,并按项目锁定版本。

解决什么问题

  • 不同项目依赖不同 Flutter 版本(例如 A 要 3.7,B 要 3.22)
  • 避免全局只装一套 SDK、来回卸载/重装
  • 团队统一项目所用 SDK,减少「我这边能跑你那边不行」

能做什么

能力说明
多版本并存多个 Flutter SDK 缓存在本地(如...\fvm\versions\
按项目切换fvm use <版本>,项目目录下用对应 SDK
统一调用fvm flutter .../fvm dart ...,走当前项目配置的 SDK
自定义源fvm fork可接官方仓、鸿蒙适配仓或本地 git 仓

和「直接装 Flutter」的区别

  • 全局 Flutter:系统里通常一套,改版本影响所有项目
  • FVM:每个项目可指定自己的版本;日常尽量用fvm flutter,而不是裸的flutter

一句话:FVM = 给 Flutter 用的多版本管理器,方便本地开发和鸿蒙/官方多套 SDK 并存。

1. 下载与安装

  1. 打开:https://github.com/leoafarias/fvm/releases
  2. 下载对应系统的 Windows 包(如fvm-*-windows-x64.zip
  3. 解压到固定目录,例如:D:\Tools\fvm(目录内应有fvm.exe),下次升级的时候还是去官网下载对应的电脑版本下载然后替换掉这个目录里面的内容

2. 配置环境变量

2.1 把 FVM 加入 PATH(必做)

否则终端会提示找不到fvm命令。

  1. 右键「此电脑」→「属性」→「高级系统设置」→「环境变量」
  2. 在「用户变量」或「系统变量」中编辑Path
  3. 新建一条,指向fvm.exe所在目录,例如:D:\Tools\fvm
  4. 确定保存后,关闭并重新打开所有终端(必要时重启 IDE)

验证:

where.exe fvm fvm--version

where.exe fvm第一条应是你刚配置的独立安装路径。

2.2 自定义 SDK 缓存目录(可选)

默认缓存一般在用户目录下。若希望装到指定盘:

示例
变量名FVM_CACHE_PATH
变量值E:\tools\fvm(缓存根目录,不要写成...\versions

实际 SDK 会装在:%FVM_CACHE_PATH%\versions\
例如:E:\tools\fvm\versions\oh_flutter\oh-3.27.0-release

修改后同样需要重开终端。也可用:

fvm config--cache-path E:\tools\fvm

3. 配置仓库别名(fork)

FVM 4.x 要求地址为合法 Git URL,且.git结尾。本地路径不能直接写E:\xxx,必须用file:///形式。

3.1 本地仓库

fvm fork add oh_flutter file:///F:/0814_Flutter/flutter_flutter/.git

说明:

  • 使用file:///(三个斜杠)
  • Windows 盘符写成F:,路径用/
  • 末尾必须是/.git
  • 目标目录本身需是完整 git 仓库

3.2 远程仓库

# 谷歌官方 Flutter SDKfvm fork add google-official https://github.com/flutter/flutter.git# 鸿蒙适配 Flutter SDK(CPF-Flutter)fvm fork add oh_cpf_flutter https://gitcode.com/CPF-Flutter/flutter_flutter.git

oh_fluttergoogle-officialoh_cpf_flutter都是自定义别名,可按需命名。

3.3 查看 / 删除别名

fvm fork list fvm fork remove oh_flutter

注意:fork remove只删别名配置,不会删除已安装的 SDK 目录。


4. 安装指定版本

格式:fvm install <别名>/<版本或分支>

# 鸿蒙 fork 示例(分支/标签名以仓库实际为准)fvm install oh_cpf_flutter/oh-3.41.9-release fvm install oh_cpf_flutter/oh-3.35.7-release fvm install oh_cpf_flutter/oh-3.27.0-release fvm install oh_cpf_flutter/oh-3.22.3-release fvm install oh_cpf_flutter/br_3.7.12-ohos-1.1.3# 谷歌官方示例fvm install google-official/stable fvm install google-official/3.7.12

如何知道能装哪些版本?

  • 官方仓库:可用fvm releases(可按 channel 过滤),例如:
    fvm releases/fvm releases -c all

    fvm releases不能写成fvm releases 别名,它不接受 fork 别名参数。

  • 自定义 fork(鸿蒙等):到对应 Git 仓库查看分支 / Tag,再用别名/分支名安装。

同一分支若要更新到远程最新内容:先fvm remove 别名/版本,再重新fvm install
只更新本地源仓库代码,不会自动更新 FVM 已安装缓存。


5. 卸载已安装的 Flutter SDK

fvm remove oh_cpf_flutter/oh-3.22.3-release fvm remove <别名>/<版本>

若提示Deletion failed,多半是该 SDK 正被 Cursor/VS Code 的 Dart 分析服务、Flutter daemon 占用。先关闭相关 IDE/进程,再删;或直接删除对应目录:

Remove-Item-Recurse-Force E:\tools\fvm\versions\<别名>\<版本>

删除某个别名下全部版本(FVM 无官方一键命令)可删整个别名目录:

Remove-Item-Recurse-Force E:\tools\fvm\versions\oh_cpf_flutter

不要用fvm remove --all/fvm destroy,除非你确认要清空所有别名的缓存。


6. 查看已安装版本

fvm list

关注表格中的VersionLocal(当前项目所用会有标记)等列。


7. 切换项目使用的版本

项目根目录执行(Version列内容可直接复制):

fvm use google-official/3.7.12

可选全局默认:

fvm global google-official/3.7.12

检查是否切换成功

fvm flutter--version fvm flutter doctor-v

日常命令请通过 FVM 调用,例如:

fvm flutter pub get fvm flutter build hap

8. 常见问题

8.1 终端提示找不到fvm命令

  • 检查 PATH 是否包含fvm.exe所在目录
  • 重开终端 / 重启 IDE / 必要时注销或重启电脑
  • where.exe fvm确认实际调用的是哪一个(避免指到旧的Pub\bin\fvm.bat

8.2fvm use提示无权创建符号链接

推荐:开启 Windows 开发人员模式

设置 → 系统 → 开发者选项(或搜索「开发人员模式」)→ 打开。

开启后普通权限即可创建符号链接。

备选:以管理员身份运行终端,再执行fvm use

切换成功后,在fvm list中对应版本的 Local 列一般会有标记。

8.3 切换版本异常

可尝试删除项目根目录下的.fvm.fvmrc,再重新执行:

fvm use <别名>/<版本>

8.4 想把别名oh_cpf_flutter改成oh_flutter

FVM 无 rename,需:删旧别名 → 用新名字fork add→ 如需保留已装 SDK,将
versions\oh_cpf_flutter重命名为versions\oh_flutter,并改项目.fvmrc中的版本字符串。


9. 常用命令速查

命令作用
fvm --version查看 FVM 版本
fvm fork add <别名> <url.git>添加仓库别名
fvm fork list查看别名
fvm fork remove <别名>删除别名(不删已装 SDK)
fvm install <别名>/<版本>安装 SDK
fvm remove <别名>/<版本>卸载某个 SDK
fvm list查看已安装 SDK
fvm use <别名>/<版本>当前项目切换版本
fvm global <别名>/<版本>设置全局默认版本
fvm flutter ...用当前项目 SDK 执行 flutter
fvm releases查看官方可安装的发布版本(非 fork 分支列表)

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

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

立即咨询