2021-01-11 使用fvm 管理多版本flutter

  • 安装fvm
  • 配置fvm工作目录 和 配置fvm管理的flutter环境变量
  • 下载并导入多版本的flutter
  • 配置android studio工程
  • 秒切flutter版本

1、安装fvm

fvm git官网

方法
https://github.com/befovy/fvm

brew tap befovy/taps
brew install fvm

当前brew 安装的版本0.8.0

fvm --version

修改fvm的工作目录

编辑~/.bash_profile
如果是zsh,编辑~/.zshrc

如何查看是bash还是zsh:

echo $0
-zsh

添加以下内容:

##我的配置信息 start##
export LC_ALL=en_US.UTF-8
export LANG=en_US.UTF-8


export FLUTTER_ROOT=/opt/fvm/current
export FVM_HOME=/opt/fvm

export FLUTTER_STORAGE_BASE_URL=https://storage.flutter-io.cn
export PUB_HOSTED_URL=https://pub.flutter-io.cn

export PATH=$PATH:$HOME/.pub-cache/bin
export PATH=$PATH:$FLUTTER_ROOT/bin/cache/dart-sdk/bin
export PATH=$PATH:$FLUTTER_ROOT/bin


export DEVELOPER_DIR=/Applications/Xcode.app/Contents/Developer/
export ANDROID_HOME=~/Library/Android/sdk
export PATH=$PATH:$ANDROID_HOME/emulator
export PATH=$PATH:$ANDROID_HOME/tools
export PATH=$PATH:$ANDROID_HOME/platform-tools

## 我的配置信息 end##

注意上面的FVM_HOME一定要设置,默认不是这里,默认的目录比较深,不方便以后查看管理。

修改好以后,执行source ~/.zshrc或者关闭终端重启。这样会重新load刚才添加环境变量配置,使之生效。

准备fvm的工作目录

创建fvm文件夹,就是FVM_HOME

可以是其他目录,比如移动硬盘内的目录。

sudo mkdir -p /opt/fvm

修改限为可读写

sudo chown -R $(whoami) /opt/fvm

3、下载并导入多版本的flutter

fvm install 1.17.3
先执行一下,这里是会报错。
但是会初始化fvm的工作目录

.fvmhome
versions
config.yaml
current

如果没有继续往下手动操作,手动创建一个 versions 目录:

cd /opt/fvm
mkdir versions

拷贝之前电脑上的安装过的flutter版本。到/opt/fvm/versions
或者重新去下载flutter安装库,以前下载的flutter就不要了,自行删除即可

flutter下载地址

下载对应版本后,解开压缩包,重新修改名字为对应版本号相同1.17.3,放到versions目录下面。

fvm install 1.17.3   

如果这里仍然报错,再回到/opt/fvm,创建一个current,根据提示创建对应的空文件

cd /opt/fvm 
touch current
touch config.yaml
touch .fvmhome

在执行

fvm install 1.17.3

如果还不行:

cd /opt/fvm
ln -s versions/1.17.3 current

在执行

fvm install 1.17.3

*我开始遇到用fvm install 直接安装flutter库,用上面手动导入的可以避免,报错信息如下

fvm install beta  -v
fvm: Command 'git' exited with error: chdir /opt/fvm/versions/beta: no such file or directory*

用同样的方法,将不同的版本flutter拷贝到versions目录下面,修改名字,然后fvm install。 这样fvm的管理就配置好了。

最后效果如下:

image.png

4、配置android studio工程配置

打开android studio

Languages & Frameworks

Flutter
Flutter SDK Path修改为/opt/fvm/current

修改完flutter路径。 点击下面的apply-》ok保存。
Dart
Dart SDK Path会自动根据flutter版本的选择去选择flutter下的dart路径:
/opt/fvm/current/bin/cache/dart-sdk

image.png

这里会自动选择上:


image.png

5、秒切flutter版本

fvm use 1.17.3

fvm use beta
 

之后就可以使用普通的命令,不需要加fvm前缀,因为fvm原理是实时修改 flutter环境变量 FLUTTER_ROOT 的快捷方式。

flutter pub get

查看当前使用的版本

fvm current
fvm: Current active Flutter SDK is 1.17.3
fvm: And its link path is /opt/fvm/current
fvm: Actually path is /opt/fvm/versions/1.17.3

查看当前管理了哪些版本

fvm list
fvm: 1.17.3
fvm: 1.22.4
fvm: 1.22.5
fvm: 2.0.6
fvm: 2.2.2 (current)
fvm: 2.5.0
fvm: beta

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。