使用fvm,助力你吃上Flutter2
前言
脑袋一热,将Flutter包升级到了2.0后,现有的工程一片通红,好不容易把报错解决了。
pub get之后,发现自己依赖的第三方库没有完成Null safety的适配工作,直接让我泪流满面。
不得不切回1.22.6版本,Flutter2乖乖教我做人。让我回想起曾经iOS项目从Swift3.0升级到Swift4.0,那个难忘的夜晚。
于是寻思之前了解的到的flutter版本工具的使用——fvm。
本文仅仅是在Mac电脑上我自己使用fvm的一些记录,有图有命令行,算是有图有真相吧。
另外,我是使用VSCode进行Flutter开发,fvm配置也是和VSCode相关的,所以使用Android Studio的童鞋可以绕路。
安装fvm
通过brew安装 fvm:
什么?没有安装brew,对不起,这个不在本文的涉及范围内。
命令行走起:
// 添加homebrew tap
brew tap xinfeng-tech/fvm
// 安装 fvm
brew install fvm
安装成功之后,就是配置你的环境变量到脚本工具中: 由于Mac的脚本工具有 .bash 和 .zsh 两个,一般默认的是 bash,具体切换,可以在这里参看苹果官网的切换方法:
可以通过默认终端查看你加载的配置,看最后的-zsh
就说明我使用的是zsh配置啦
修改.zshrc文件:
直接将.zshrc文件拖到VSCode中,
将下面的命令添加到你的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"
值得注意的是PUB_HOSTED_URL
和FLUTTER_STORAGE_BASE_URL
你也许在之前就配置过,并不是http://mirrors.cnnic.cn/dart-pub
和http://mirrors.cnnic.cn/flutter
,而是https://pub.flutter-io.cn
和https://storage.flutter-io.cn
。
保持和你之前配置即可,可以避免没有必要的pubspec.lock文件更新
fvm的基本使用
查看fvm的版本
fvm --version
安装不同的Flutter版本
下面两个版本是我经常需要使用的版本
fvm install 1.22.6
fvm install 2.0.3
查看安装的Flutter版本
fvm list
current => 2.0.3-stable
installed versions:
1.22.6-stable => 1.22.6
2.0.3-stable => 2.0.3
default => 2.0.3
latest => 2.0.3
这个时候可以在你的根目录下面看到这样的文件夹和Flutter版本管理:
建议这个更改完了之后也修改flutter包的引用指向
# 这个是以前的指向,再下面的现在的指向,
#export PATH=/Users/season/flutter/bin:$PATH
export PATH=/Users/season/.fvm/current/bin:$PATH
VSCode中的配置
一般使用VSCode进行Flutter编程的使用都会生成一个.vscode的文件夹,里面存放着一些编写与调试该flutter工程的配置。如下图所示:
找到settings.json文件,如果没有,自己新建一个同名文件。
在里面写入下面的配置:
{
"dart.flutterSdkPaths": [
"/Users/season/.fvm/versions"
],
}
然后点击VSCode右下角的版本,就可以进行切换了。当然你使用VSCode命令也是可以的,如下图所示:
注意:很有可能你在settings.json完配置后,进行版本切换时会发现不仅仅有.fvm文件夹下的flutter版本切换,可能会有其他的路径下的flutter版本切换,关闭VSCode,再重启试试就好了。
这样一来,我们就可以通过git分支管理和fvm的切换,做正常的Flutter开发和新版本的尝试了。
参考文章:
转载自:https://juejin.cn/post/6948266183397212174