Flutter开发flutter sdk安装配置以及flutter sdk版本管理和版本切换
需要使用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
(步骤2是mac环境下的操作,如果是window环境,改为配置系统环境变量,如下:
新增系统环境变量:PUB_HOSTED_URL=https://pub.flutter-io.cn
FLUTTER_STORAGE_BASE_URL=https://storage.flutter-io.cn
FLUTTER_HOME=C:\Flutter\flutter
Path环境变量添加:C:\flutter\flutter 或者%FLUTTER_HOME%\bin
其他步骤mac和window操作时一样的哈
)
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列表
2. 找到自己想回退到到版本对应的tag,比如这里要回退到1.20.0
![]()
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的路径
5. 最近发现一个更简单的方法就是使用Android Studio快速切换flutter sdk版本和dart sdk版本。但是这种方法是没有切换cmd窗口的flutter版本的,cmd窗口的需要配置FLUTTER_HOME环境变量。

注意:后来发现,切换flutter版本其实很简单,修改环境变量配置的FLUTTER_HOME的值就可以,想切换到哪个版本的flutter就配置FLUTTER_HOME的值为哪个版本的flutter sdk路径即可。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· 单线程的Redis速度为什么快?
· 展开说说关于C#中ORM框架的用法!
· Pantheons:用 TypeScript 打造主流大模型对话的一站式集成库
2017-08-14 WAVE文件格式说明