前言
当flutter出了个新版本,想尝尝鲜?升级,打开傻眼,各种报错,新版可能会有很多东西要适配支持。退回去?flutter downgrade然后还得删除缓存,然后再flutter doctor一顿猛操作,网速要是差点意思了,那就够喝杯茶了。
诸如此类,反正就是如果想本地多个flutter版本,可以愉快的快速便捷切换。幸运的是fvm这个非官方工具就能搞定以上需求。
fvm介绍
fvm:flutter version manager的缩写。此工具可让我们
- 在本地下载安装多个版本flutter sdk。
- 为项目指定flutter版本,并可快速切换版本。
Sidekick:一个主要为Flutter fvm提供GUI的应用程序。
- 使用fvm比较简便快捷
- 里面有当前的flutter stable/beta/dev以及历史版本,方便下载使用
- 有一些flutter的第三方treding/morst used packages/flutter favorites。
fvm的安装和使用
fvm安装
下面以macOS为例。
brew tap leoafarias/fvm
brew install fvm
默认的flutter SDK缓存路径为~/fvm/versions
安装成功之后,就是配置你的环境变量到脚本工具中: 由于Mac的脚本工具有 .bash 和 .zsh 两个,一般默认的是 bash,具体切换,可以在这里参看苹果官网的切换方法:在Mac上将.zsh用作默认Shell
fvm安装flutter sdk
fvm install 1.22.6 //安装flutter 1.22.6的stable版本
fvm install stable //安装当前最新的stable版本
fvm install dev //安装当前最新的pre预览版本
fvm安装的flutter版本删除
fvm remove 1.22.6 //卸载1.22.6版本
fvm列出已安装版本
~(master*) » fvm list
Cache Directory: /Users/nickName/fvm/versions
2.2.2
1.22.6
fvm查看当前使用的flutter版本信息
fvm flutter --version
总之就是之前的flutter命令前面都加上fvm
例如
- fvm flutter clean
-
fvm flutter pub get
搞定完以上后,以AS为例。打开AS的preferences。设置flutter sdk path, 对应的dart sdk path会自动填充
fvm flavor for project
flavor:flutter和fvm一样每个项目环境或发布类型配置多个Flutter SDK版本。
// ~/your_flutter_project.fvm/fvm_config.json
{
"flutterSdkVersion": "1.22.6",
"flavors": {
"stable": "stable",
"dev": "dev"
"production": "1.22.6",
"beta": "beta",
}
}
// 它有以下几种配置:
/* 给version起个名,会被记录到~/your_flutter_project.fvm/fvm_config.json */
fvm use {version} --flavor {flavor_name}
//list出当前项目配置的 flavors
fvm flavor {flavor_name}
fvm flavor
Sidekick
非常实用、方便。具体的使用不展开说了,下载看看很清晰。
其他
在用leoafarias/fvm时候也看到过另外一个基于go的flutter版本管理工具befovy/fvm,基本与leoafarias/fvm没多大差别,看各自喜好了。最后吃水不忘挖井人,给Leo Farias的leoafarias/fvm送上star。