随着flutter2.0的发布,公司后续flutter新项目都要在2.0的基础上开发,老的项目本着”没问题尽量别动“的原则暂时不选择升级2.0,所以本地flutter sdk多版本管理的需求就提上了日程,毕竟不能每次切换项目运行都要执行flutter upgrade之后再reset --hard ,在这里介绍一款flutter的版本管理神器 FVM。
- 如果你的电脑没有
Homebrew
的话,可以去它的官网查看安装方法,简单来说也就两步- 安装brew:
git clone git://mirrors.ustc.edu.cn/homebrew-core.git//usr/local/Homebrew/Library/Taps/homebrew/homebrew-core --depth=1 - 安装brew cask:
git clone git://mirrors.ustc.edu.cn/homebrew-cask.git//usr/local/Homebrew/Library/Taps/homebrew/homebrew-cask --depth=1
- 安装brew:
- 通过brew安装 fvm:
// 添加homebrew tap
brew tap xinfeng-tech/fvm
// 安装 fvm
brew install fvm
- 安装成功之后,就是配置你的环境变量到脚本工具中: 由于mac的脚本工具有
.bash
和.zsh
两个,一般默认的是 bash,具体切换,可以在这里参看苹果官网的切换方法
- 如果是
.bash
作为默认Shell,可以在终端中使用open -e .bash_profile
命令打开文件 - 如果是
.zsh
作为默认Shell,可以在终端中使用open .zshrc
命令打开文件
将下面的命令添加到你的Shell文件中进行配置即可
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"
FVM的大致原理是新建一个快捷方式文件夹,通过指定快捷方式的源路径的方式切换flutter 版本,所以flutter 的PATH 变量要配置成 fvm的current文件夹路径,要不然flutter命令执行的就是你原本的flutter安装路径了,FVM_DIR是fvm的安装目录,/.fvm/current是当前选择的flutter版本路径
fvm安装完成之后最好将自己本地的flutter sdk 放到fvm/versions里面,方便统一管理
附一张我的变量配置
#flutter
Export FLUTTER_HOME="$HOME/.fvm/current"
export PUB_HOSTED_URL=https://pub.flutter-io.cn
export FLUTTER_STORAGE_BASE_URL=https://storage.flutter-io.cn
export PATH=$FLUTTER_HOME/bin:$PATH
export PATH=$FLUTTER_HOME/bin/cache/dart-sdk:$PATH
#fvm
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"
关于fvm的基本使用
//查看fvm的版本
fvm --version
//安装flutter版本
fvm install 2.0.0
//查看fvm安装的版本
fvm list
//使用某flutter版本
fvm use 2.0
Android Studio 配置
把Flutter SDK path的路径配置为本机/.fvm/current的绝对路径