Flutter 作为当下比较热门的跨端开发利器,受到了越来越多的开发者的追捧,笔者也是小粉丝哈,热衷于追求新技术。由于 Flutter 目前还处于高速发展的阶段,开发者提出的 issues 很多( 目前近8k ),所以 Flutter 团队需要不断的更新版本来解决开发者提出的这些问题,这就导致 Flutter 的版本更新比较快。上一个工程还是基于版本 1.19.* 创建的,等到再新建一个工程时,就需要用到版本 1.22.# 啦!
面对这么多的版本,开发者需要不断的切换 Flutter 版本,来运行不同的项目或工程,我们可以在命令行进行手动切换,命令行格式如下:
// flutter version 后跟想要切换的具体版本号
flutter version v1.22.4
// flutter version 命令将要被移除了,移除后可以使用 flutter downgrade
flutter downgrade v1.22.4
然后就需要下载所需切换版本的资源,如下图所示:
每次需要切换 Flutter 版本时,都需重新下载一遍,然后再执行 flutter pub upgrade,有点麻烦啦!
有没有更加便捷有效的工具呢?
工程师们还是喜欢“偷懒”的哈,那些好的工具或者架构,不都是工程师们为了简化工作流程,提高工作效率,所研究出来的吗?开个玩笑哈!
笔者这里推荐一个 Flutter SDK 版本管理工具:befovy/fvm,作为一个 SDK 版本管理工具,能够让用户同时在本地安装并缓存多个 Flutter 版本,并为项目创建指定 Flutter 版本的软链接,或者在全局环境创建指定版本的 Flutter 软链接,还可以快速在各个版本间切换使用。是不是觉得心动了呢?
安装试用一下:
Mac 下 brew 安装命令:
// 添加homebrew tap
brew tap xinfeng-tech/fvm
// 安装 fvm
brew install fvm
安装成功以后,拷贝以下内容到你的 .bashrc|.zshrc … 文件中,根据自己的情况,没有更换过脚本工具的,默认是 Bash,不过现在很多人喜欢切到 Oh My Zsh 啦!
export PUB_HOSTED_URL=http://mirrors.cnnic.cn/dart-pub
export FLUTTER_STORAGE_BASE_URL=http://mirrors.cnnic.cn/flutter
export FVM_DIR="$HOME/.fvm"
source "/usr/local/opt/fvm/init.sh"
如何使用呢?
安装 Flutter 某个版本,如:1.22.4
fvm install 1.22.4
使用 Flutter 某个版本,如:1.22.4
fvm use 1.22.4
查看本地已安装的 Flutter 版本
fvm list
不同的项目设置不同的 Flutter 版本
// 需要切到你要设置项目的根目录,然后执行如下命令并指定你所想要设置的 Flutter 版本
fvm use 1.22.4 --local
看一下效果图吧!使用还是很方便的,墙裂推荐一下,尤其是项目多时,需频繁切换 Flutter 版本的!!!
参考文章:
Flutter SDK 多版本管理工具
踩过的坑,以免你们再踩进来:
1、升级过 macOS Big Sur(11.0.1) 之后,使用 Homebrew 执行 brew 安装命令时,会报错:Error: Your CLT does not support macOS 11.0.
看样子,是要我们升级一下 CLT(Communication Line Terminal 通信线路终端),当前的不支持 macOS 11.0哈!
解决方案:
sudo rm -rf /Library/Developer/CommandLineTools
sudo xcode-select --install
参考链接:
Homebrew: Your CLT does not support macOS 11.0
homebrew installation fails on macOS 11 (Big Sur)