Flutter回退版本有两个方法:
- 使用git命令回退
[推荐]
- 使用flutter命令回退
一. 使用Git命令回退版本[推荐]
由于flutter到sdk是托管在github仓库里的,所以升级降级SDK版本完全可以基于git的形式操作,这也是flutter version
废弃后官方推荐的改变SDK版本的方式,
通过Git的方式回退版本一共需要四步:
- 找到flutter SDK在本机的路径
- 找到flutter版本的git verison
- 执行回退版本命令
- 下载/编译运行所需资源
1.1. 找到flutter SDK在本机的路径
macOS和Linux的用户可以在命令行
中使用which
命令查看flutter SDK的路径:
which flutter
Windows用户可以在命令行
中使用where
命令查看flutter SDK的路径:
where flutter
从执行命令的结果中截取/bin/flutter
前的路径,就是flutter SDK的路径,例如:
- 执行命令的结果是:
/Users/awesome/Library/flutter/bin/flutter
- 是flutter SDK的路径:
/Users/awesome/Library/flutter
使用cd
命令进入flutter SDK的路径:
cd /Users/awesome/Library/flutter
1.2. 找到flutter版本的git verison
点击链接flutter的版本列表选择版本号,注意需要选择和当前Channel一致的版本(参考1.1节中的方法)
1.3. 执行命令回退版本
1.3.1 使用
git checkout version
命令或git reset --hard version
回退版本两个命令主要区别是:
git checkout version [推荐方法]
:等同于flutter version
,会强制将git的分支切换到指定版本所在的分支上。it reset --hard version
:仅能回退当前分支上的版本号,如果指定的版本号不在当前分支上,则回退失败。回退的命令示例:
git checkout 1.22.6 //推荐方法 或 git reset --hard 1.22.6
2.3.2 使用
git reset --hard commit id
回退版本这也是时下网络流传比较多的方法,效果等同于
git reset --hard version
,下面是查看版本对应的commit Id
的方法:
回退的命令示例:git reset --hard 9b2d32b605630f28625709ebd9d78ab3016b2bf6
1.4. 最后执行flutter doctor
来下载/编译运行此版本所需的所有资源
二. 使用flutter命令回退版本
flutter 2.3版本之前,提供了version
和downgrade
两个参数可以帮助用户回退版本,这两个参数都能回退到指定版本号,区别是:
-
version
:会强制将flutter版本切换到指定版本,并将Channel也切换到指定版本所在的Channel上,目前该参数在新版本中已经被废弃了,相关讨论请参考Github issues 53364中的相关讨论。目前flutter version
依然是比较推荐使用的命令,在未来命令被移除后考虑使用git checkout
命令回退版本,详细请参考2.3节。 -
downgrade
:官方的介绍是将flutter降级为当前通道的上一个活动版本,指定的版本号被限定在了当前通道,如果不在当前通道则会降级失败。
使用 verison或downgrade参数仅需以下三步:
- 确定回退的版本号
- 执行回退版本命令
- 下载/编译运行所需资源
2.1. 确定回退的版本号
点击链接flutter的版本列表选择版本号,注意需要选择和当前Channel一致的版本,查看Channle的方法如何:
2.2. 执行命令回退版本
flutter version <version> //例如:flutter version 1.22.6
或
flutter downgrade <version> //例如:flutter downgrade 1.22.6