【Windows环境下使用fvm管理多版本Flutter(flutter版本升级回退)】

Windows环境下使用fvm管理多版本Flutter(flutter版本升级回退)

    • 安装FVM
    • 升级版本
    • 升级后,使用方法二再次安装fvm

安装FVM

方式一:

使用choco安装fvm(当时环境中Flutter版本是1.22.4,Dart是2.10.4,安装时报错,没再继续,使用了方式二)

	choco install fvm

方式二:(使用的该方式)

使用dart的pub进行安装

	dart pub global activate fvm

使用方式二安装成功后,使用fvm命令时却闪退了,查了很久发现是Dart版本过低的原因导致,感觉方法一的失败原因应该也是因为版本过低导致的

接下来升级Flutter版本,因为升级Flutter版本会自动适配对应的Dart版本,翻阅别人的坑据说单独升级Dart版本会出问题,但并没试过,既然都说了是坑了,还踩它干嘛

升级版本

	flutter upgrade

出现问题:

	ProcessException: Process exited abnormally:

	fatal: unable to access 'https://github.com/flutter/flutter.git/': OpenSSL SSL_read: SSL_ERROR_SYSCALL, errno 10054

  	Command: git fetch --tags

解决办法:修改git缓存值大小:

	git config --global http.postBuffer 524288000

接着又出现问题:

	ProcessException: Process exited abnormally:
	
	fatal: unable to access 'https://github.com/flutter/flutter.git/': Failed to connect to github.com port 443: Timed out

  	Command: git fetch --tags

解决办法:使用代理

	git config --global --unset http.proxy

之后又出现问题:

	Your flutter checkout has local changes that would be erased by upgrading. If you want to keep these changes, it is recommended
	that you stash them via "git stash" or else commit the changes to a local branch. If it is okay to remove local changes, then
	re-run this command with --force.

解决办法:添加 --force 强制执行

	flutter upgrade --force

用git reset,可以指定到某个版本,也可以回退版本
回退版本,进入flutter的目录下,运行指令:git reset --hard commit-id

	git reset --hard commit-id

使用flutter --version 查看版本,此时会自动下载对应版本的Dart

commit-id 可以在 github.com/flutter/flutter中查看到

【Windows环境下使用fvm管理多版本Flutter(flutter版本升级回退)】_第1张图片
找到需要的Flutter版本
commit id
【Windows环境下使用fvm管理多版本Flutter(flutter版本升级回退)】_第2张图片

升级后,使用方法二再次安装fvm

接下来继续操作fvm

1、系统环境变量,Path中添加C:\Users\{自己的用户名}\AppData\Local\Pub\Cache\bin
【Windows环境下使用fvm管理多版本Flutter(flutter版本升级回退)】_第3张图片
2、关闭并重启命令行,使用fvm命令,发现已经不闪退了
【Windows环境下使用fvm管理多版本Flutter(flutter版本升级回退)】_第4张图片
3、默认fvm的下载地址是在C盘,改一下:
配置fvm下载地址:fvm config --cache-path E:\fvm\versions\

fvm config --cache-path E:\fvm\versions\

【Windows环境下使用fvm管理多版本Flutter(flutter版本升级回退)】_第5张图片
4、此时可以查看一下 fvm列表 ,目前是空的

	fvm list

接下来就可以在配置的fvm下载地址中下载各种版本的Flutter了

	fvm install 1.22.4

再查看下fvm list
【Windows环境下使用fvm管理多版本Flutter(flutter版本升级回退)】_第6张图片
5、把项目中的ignore文件添加:

	# fvm
	.fvm/flutter_sdk

6、执行fvm use 1.22.4
在项目根目录下使用 fvm list 发现当切换到的版本这里会显示(active)
【Windows环境下使用fvm管理多版本Flutter(flutter版本升级回退)】_第7张图片
执行命令,如果出现Android Studio没有权限,设置Android Studio快捷方式为管理员权限打开
【Windows环境下使用fvm管理多版本Flutter(flutter版本升级回退)】_第8张图片
当前项目的版本已经切换成功了

7、把AndroidStudio的FlutterSDK路径换一下
【Windows环境下使用fvm管理多版本Flutter(flutter版本升级回退)】_第9张图片
换到FVM刚修改过的下载目录下,Dart不用管,他会自动找到,直接Apply

想看项目是否已经正确更换了版本,请看下图红框部分区别:
【Windows环境下使用fvm管理多版本Flutter(flutter版本升级回退)】_第10张图片
最后如果发现项目中还是报错,那么就需要使用下面的命令并重启一下AndroidStudio试试吧

	fvm flutter clean
	fvm flutter pub get

你可能感兴趣的:(flutter,windows,android)