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路径即可。

复制代码

 

posted @   yongfengnice  阅读(12091)  评论(0编辑  收藏  举报
编辑推荐:
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
阅读排行:
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· 单线程的Redis速度为什么快?
· 展开说说关于C#中ORM框架的用法!
· Pantheons:用 TypeScript 打造主流大模型对话的一站式集成库
历史上的今天:
2017-08-14 WAVE文件格式说明
点击右上角即可分享
微信分享提示