需要使用git方式下载安装flutter sdk,因为版本切换是使用git reset指定到切换到版本的。
1. git clone https://github.com/flutter/flutter.git 下载最新的flutter sdk
2. 添加flutter路径到.bash_profile,然后命令行执行source .bash_profile让它生效
export PUB_HOSTED_URL=https://pub.flutter-io.cn //配置pub仓库服务器路径
export FLUTTER_STORAGE_BASE_URL=https://storage.flutter-io.cn
export FLUTTER_HOME=/Users/yfsu/Flutter/flutter //配置flutter home目录
export PATH=${PATH}:${FLUTTER_HOME}/bin
3. cd到flutter目录下,命令行执行flutter doctor,就会自动下载需要到依赖包括对应版本engine、dart等等。执行完后所有选项都是对勾说明环境安装成功。
对应版本的依赖在flutter/bin/cache目录下,比如dart sdk在flutter/bin/cache/dart-sdk目录下
4. 命令行执行flutter --version 可以查看到具体flutter版本号、framework版本号、engine版本号、dart版本号等。这些版本号都是对应配套的,执行flutter doctor自动下载对应版本号到内容。
下面是切换flutter sdk的版本解决方法,切换flutter sdk版本后对应的dart版本等也对应切换,因为是flutter doctor会自动下载对应版本的依赖。
解决方法:github上flutter项目找到对应版本的commit tag,然后使用git reset --hard tag强制回退flutter到指定版本,最后再执行flutter doctor更新依赖即可。
1. github找到flutter sdk提交的tag列表
![](https://img2020.cnblogs.com/blog/1020339/202008/1020339-20200814180427726-1950164359.png)
2. 找到自己想回退到到版本对应的tag,比如这里要回退到1.20.0
![](https://img2020.cnblogs.com/blog/1020339/202008/1020339-20200814180933879-26877555.png)
![](https://img2020.cnblogs.com/blog/1020339/202008/1020339-20200814181213971-791366578.png)
commit后面那一串840c9205b344a59e48a5926ee2d791cc5640924c 就是git commit提交到tag,也就是我们要找的tag。
3. 命令行执行 git reset --hard 840c9205b344a59e48a5926ee2d791cc5640924c 回退flutter到指定tag,这样就是回退到了我们需要到1.20.0版本了。
4. 命令行执行 flutter doctor下载更新对应到依赖,比如对应版本的dart库等等
5. 可以执行flutter --version 看看flutter sdk版本和dart版本
android studio设置更改flutter sdk和dart sdk的路径
![](https://img2020.cnblogs.com/blog/1020339/202008/1020339-20200815114615673-492307153.png)