资讯动态

FVM 完全指南:4 步把 Flutter 多版本管理装进你的工作流

发布时间:2026/8/24 2:28:56 来源:尧图企业网站定制
FVM 完全指南4 步把 Flutter 多版本管理装进你的工作流【免费下载链接】fvmFlutter Version Management: A simple CLI to manage Flutter SDK versions.项目地址: https://gitcode.com/gh_mirrors/fv/fvm某团队三个人用各自电脑构建同一个 App只有一台的 release 包能跑其余全崩——排查半天才发现三台机器的 Flutter 版本各不相同。这类你那边怎么是好的问题根源在于 Flutter SDK 版本跟着机器走而不是跟着项目走。FVMFlutter Version Management把这件事反转过来按项目锁定 Flutter SDK 版本多个版本共存于本地缓存切换即时生效无需重新安装。本文带你完成 FVM 安装、首次版本锁定、日常使用和团队共享的完整流程。 第一步3 行命令装好 FVMmacOS 和 Linux 用户直接用安装脚本装到~/fvm并把 PATH 指令打印出来照着复制即可curl -fsSL https://fvm.app/install.sh | bash export PATH$HOME/fvm/bin:$PATHWindows 用户走 Chocolateychoco install fvm也支持brew install fvm和dart pub global activate fvm后者不建议用于管理全局 Flutter。装完运行fvm --version验证。脚本的细节包括指定版本安装和容器环境用法见 scripts/install.md。 第二步给项目锁定第一个 Flutter 版本进入任意一个 Flutter 项目目录一条fvm use完成绑定cd my_project fvm use 3.19.0你会看到它在项目里做了三件事下载并缓存指定版本首次需要、生成.fvmrc配置文件、在.fvm/flutter_sdk建立指向缓存 SDK 的软链接。随后自动执行flutter pub get依赖解析也一并完成。不确定项目该用哪个版本时先跑fvm releases --channel stable列出可用版本。如果只是想预下载版本而不绑定项目用fvm install version后续fvm use时秒切。 第三步日常操作切版本不用重装绑定完成后所有 Flutter 和 Dart 命令都通过 FVM 前缀执行fvm flutter doctor fvm flutter test fvm dart pub get想换个版本测试直接再跑一次fvm use软链接重指到新缓存的 SDK几秒完成不用重新下载。fvm list查看本机所有已缓存版本fvm spawn version command则让你不动项目配置、临时用别的版本跑一次命令——比如发版前验证新版本兼容性fvm spawn 3.22.0 test一个容易忽略的机制FVM 按项目.fvmrc→ 父目录.fvmrc→ 全局版本 → 系统 PATH的顺序找 SDK。这意味着 monorepo 里子包没有自己的配置时会继承仓库根的版本不用逐包设置。 第四步让团队用同一版本开工.fvmrc是纯 JSON 文件把flutter字段写死即可{ flutter: 3.19.0 }提交.fvmrc到仓库.fvm目录加进.gitignoreFVM 绑定时默认会自动写入。新成员 clone 项目后只需fvm use不带参数的fvm use直接读取.fvmrc里记录的版本并自动补齐环境——团队从此共用同一套构建基线CI 里也是同样两步装好 FVM 后fvm install构建命令照常fvm flutter build apk --release。需要按 flavor 区分版本比如 production 用稳定版、development 用 beta时fvm use version --flavor production配合fvm flavor flavor command即可。️ 把 IDE 指向项目内的 Flutter SDKVS Code 无需手动干预fvm use会自动改写工作区设置。Android Studio / IntelliJ 需要手动指一次路径——在Languages Frameworks → Flutter里把 Flutter SDK path 填成项目内.fvm/flutter_sdk的绝对路径。切完版本后回到设置里重新选一次该路径再做一次 Gradle SyncIDE 就会解析到新 SDK。顺手把.fvm/flutter_sdk加进 File Types 的 Ignored Files and Folders可以避免 IDE 反复索引 SDK 目录启动和索引速度都有明显提升。 缓存清理与常见排错磁盘紧张时fvm remove version删单个版本fvm remove --all清空全部缓存注意fvm destroy会连同 FVM 自身缓存目录一起移除不可逆。遇到问题先跑fvm doctor它会输出项目配置、IDE 集成状态和路径校验结果大部分找不到 SDK类问题在这里就能定位。两个高频坑提前说清Windows 上 Git 2.35.2 会拦截 FVM 缓存目录导致 git 报 safe.directory 错误执行git config --global --add safe.directory *后重启终端渠道升级stable → betaFVM 不代劳仍需标准的flutter upgrade这保持了原生 Flutter 的行为边界。更多细节见 FAQ。到这里装好、锁定、切换、共享四个环节都走通了。回到开头的场景现在团队每个人、每台 CI 机器构建用的都是.fvmrc里写死的同一个版本。想继续深入建议读这两份文档命令参考 和 常见工作流需要源码研究时仓库地址为 https://gitcode.com/gh_mirrors/fv/fvm 。打开你的终端先给手头某个项目跑一条fvm use剩下的交给缓存。【免费下载链接】fvmFlutter Version Management: A simple CLI to manage Flutter SDK versions.项目地址: https://gitcode.com/gh_mirrors/fv/fvm创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

读完文章,也想定制专属网站?

尧图设计师 24 小时内与您沟通定制方案

免费获取报价