Flutter多版本管理 — FVM

简介

FVM(Flutter Version Management),官网介绍为:简单、强大、灵活的工具来理多个Flutter SDK版本。

帮助开发者解决了:

  • 需要同时使用多个Flutter SDK
  • SDK测试需要频繁切换分支
  • 分支切换速度慢,且需要反复重装(典型的使用git来切换)
  • 难以管理应用所使用的最新SDK版本
  • Flutter大版本更新需要对整个应用进行迁移
  • 团队内部开发环境会出现不一致的情况

使每个项目工程都可以对应不同版本的Flutter。

安装

MacOS

使用Homebrew来安装,若未安装,可使用以下命令傻瓜式安装:

ruby 复制代码
// Homebre国内镜像安装,推荐使用阿里镜像源
/bin/zsh -c "$(curl -fsSL https://gitee.com/cunkai/HomebrewCN/raw/master/Homebrew.sh)"

安装FVM

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

卸载FVM

bash 复制代码
brew uninstall fvm
brew untap leoafarias/fvm

就OK了。

Windows

安装方法一

通过pub来全局安装fvm

csharp 复制代码
dart pub global activate fvm

这点官方给了⚠️:

This is not recommended if you plan on using FVM to manage your global Flutter install.

--- 如果您计划使用FVM来管理您的全局Flutter安装,则不建议这样做。

安装方法二

通过choco来安装,choco是一个包管理工具,类似于Mac的brew。

arduino 复制代码
// 查看是否安装
choco -v
arduino 复制代码
// 更新choco
choco upgrade chocolatey

安装FVM

复制代码
choco install fvm

安装过程遇到询问直接输入 Y 即可。

常用命令

c 复制代码
// 查看版本
fvm --version

// 查看所有远程版本
fvm releases

// 需要安装的版本
// 也可以从官网下载指定版本压缩包,并将其解压到 versions 文件夹中
fvm install 3.27.1

// 卸载flutter版本
fvm remove 3.27.1

// 查看本地已装的版本;若在项目目录下执行此命令,可获取当前的使用版本
fvm list

// 指定工程要使用的版本,在程序根目录或开发工具的终端运行命令
// 会生产一个.fvm文件夹在项目中,在git的忽略文件中,不会影响项目的git管理。
fvm use 3.7.10

// 使用最新的稳定通道版本
fvm use stable

// 设置全局版本
fvm global 3.7.10

// 设置fvm配置
// 若更改默认的缓存文件位置: fvm config --cache-path <CACHE_PATH> 
fvm config

// 代理dart命令
fvm dart

// 通过删除FVM目录销毁FVM缓存
fvm destroy

// 显示有关环境和项目配置的信息
fvm doctor

// 使用配置的Flutter SDK执行脚本
fvm exec

// 在不同的项目风格之间切换
fvm flavor

// 在Flutter版本上生成命令
fvm spawn

// 使用指定 SDK 版本运行构建
fvm spawn 3.13.9 flutter build

// 使用不同版本的 SDK 运行测试
fvm spawn 2.2.3 flutter test

// 将之前安装的flutter加到fvm目录中
// version 为版本号
fvm import [version]

// 代理flutter命令,当前项目运行Flutter相关命令
fvm flutter --version
fvm flutter doctor
fvm flutter clean
fvm flutter pub get
fvm flutter run 
...

项目工程设置

打开对应的项目工程,进入IDE的设置中,选择Flutter,并选择对应的版本,最后Apply即可,Dart会自动跟随切换对应的版本。

接下来就可以愉快地开发了!!

相关推荐
浮芷.14 分钟前
Flutter 框架跨平台鸿蒙开发 - 儿童技能打卡墙应用
科技·flutter·华为·harmonyos·鸿蒙
Utopia^16 分钟前
Flutter 框架跨平台鸿蒙开发 - 重力感知
flutter·华为·harmonyos
提子拌饭13332 分钟前
昼夜节律下的肝脏代谢清除率演算仪:基于鸿蒙Flutter的双路流场与酶解粒子对照架构
flutter·华为·架构·harmonyos·鸿蒙
小雨天気.1 小时前
Flutter 框架跨平台鸿蒙开发 - 直觉训练器应用
flutter·华为·harmonyos
浮芷.1 小时前
Flutter 框架跨平台鸿蒙开发 - 姿势纠正助手应用
科技·flutter·华为·harmonyos·鸿蒙
一直在想名1 小时前
Flutter 框架跨平台鸿蒙开发 - 影子收藏家
flutter·华为·harmonyos
早點睡3901 小时前
Flutter for OpenHarmony三方库适配实战:palette_generator 图片调色板提取
flutter
2301_822703201 小时前
开源鸿蒙跨平台Flutter开发:跨端图形渲染引擎的类型边界与命名空间陷阱:以多维雷达图绘制中的 dart:ui 及 StrokeJoin 异常为例
算法·flutter·ui·开源·图形渲染·harmonyos·鸿蒙
浮芷.2 小时前
Flutter 框架跨平台鸿蒙开发 - 药物相互作用查询应用
科技·flutter·华为·harmonyos·鸿蒙
世人万千丶2 小时前
Flutter 框架跨平台鸿蒙开发 - 情绪过山车应用
flutter