flutter版本管理工具fvm及GUI工具Sidekick

4,927 阅读2分钟

前言

当 flutter 出了个新版本,想尝尝鲜?升级,打开傻眼,各种报错,新版可能会有很多东西要适配支持。退回去? flutter downgrade 然后还得删除缓存,然后再 flutter doctor 一顿猛操作,网速要是差点意思了,那就够喝杯茶了。 诸如此类,反正就是如果想本地多个 flutter 版本,可以愉快的快速便捷切换。幸运的是 fvm 这个非官方工具就能搞定以上需求。

fvm 介绍

fvm:flutter version manager的缩写。此工具可让我们
  1. 在本地下载安装多个版本flutter sdk。
  2. 为项目指定flutter版本,并可快速切换版本。
Sidekick:一个主要为 Flutter fvm 提供 GUI 的应用程序。
  1. 使用fvm比较简便快捷
  2. 里面有当前的 flutter stable/beta/dev 以及历史版本,方便下载使用
  3. 有一些 flutter 的第三方 treding/morst used packages/flutter favorites。

fvm 的安装和使用

fvm 安装

官网安装介绍
原作者 github

下面以 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 会自动填充

image.png

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

非常实用、方便。具体的使用不展开说了,下载看看很清晰。 image.png

其他

在用 leoafarias/fvm 时候也看到过另外一个基于 go 的 flutter 版本管理工具befovy/fvm,基本与 leoafarias/fvm 没多大差别,看各自喜好了。最后吃水不忘挖井人,给 Leo Farias 的leoafarias/fvm送上 star。