Flutter:使用FVM安装多个Flutter SDK 版本和使用教程
一、FVM简介
FVM全称:Flutter Version Management
FVM通过引用每个项目使用的Flutter SDK版本来帮助实现一致的应用程序构建。它还允许您安装多个Flutter版本,以快速验证和测试您的应用程序即将发布的Flutter版本,而无需每次等待Flutter安装。
二、需求场景
- 需要在同一时间有多个Flutter SDK。
- 测试新的SDK特性需要在Channels之间切换。
- 通道之间的切换很慢,每次都需要重新安装。
- 没有办法跟踪应用中最新的工作/使用的SDK版本。
- 主要的Flutter更新需要迁移机器上的所有Flutter应用程序。
- 团队中其他开发人员之间的开发环境不一致。
三、安装FVM
3.1 安装方式
- 方式一:下载对应的电脑系统fvm安装包进行安装
fvm下载地址:https://github.com/leoafarias/fvm/releases
- 方式二:通过Dart全局安装
指令:dart pub global activate fvm
3.2 配置Dart环境
- 方式一到Dart官网下载对应的Dart SDK
dart官网地址:https://dart.cn/get-dart/- 方式二:从下载的FlutterSDK中获取
下面在windows系统采用方式二配置Dart环境
Dart SDK在FlutterSDK目录中的位置:flutter\bin\cache\dart-sdk,如下图所示
将dart-sdk添加到系统环境变量
检查Dart SDK环境是否配置好
运行窗口执行:dart --version,如下图所示,表示配置好了
3.3 使用Dart安装FVM
在 Windows PowerShell 窗口里执行下面指令
dart pub global activate fvm
四、配置FVM环境变量
4.1 查看fvm安装位置
4.2 将fvm安装路径添加到系统环境变量里
参考:
https://dart.dev/tools/pub/cmd/pub-global#running-a-script-from-your-path
4.3 查看FVM版本
指令:fvm -v 或者 fvm --version
Windows PowerShell 窗口执行指令如下图
五、配置FVM下载Flutter SDK的位置
指令:fvm config --cache-path E:\FVM_Cache
六、FVM常用的指令
常用的有效指令如下图所示:
使用示例
fvm list 查看已安装Flutter SDK 所有版本
提示
3.24.5 和 flutter_flutter是下载好的文件直接复制到 E:\FVM_Cache\versions目录里的
使用fvm指令安装指定flutter sdk的版本
- 首页先查看flutter官网发布的版本列表
- 执行fvm install 版本号名称
示例:fvm install 3.24.5
切换Flutter SDK版本
- fvm use 版本号名称
示例:fvm use flutter_flutter
相关文章:
Flutter:使用FVM安装多个Flutter SDK 版本和使用教程
一、FVM简介 FVM全称:Flutter Version Management FVM通过引用每个项目使用的Flutter SDK版本来帮助实现一致的应用程序构建。它还允许您安装多个Flutter版本,以快速验证和测试您的应用程序即将发布的Flutter版本,而无需每次等待Flutter安装。…...
关于物联网的基础知识(二)——物联网体系结构分层
成长路上不孤单😊😊😊😊😊😊 【14后😊///计算机爱好者😊///持续分享所学😊///如有需要欢迎收藏转发///😊】 今日分享关于物联网的基础知识(二&a…...
[程序设计]—代理模式
[程序设计]—代理模式👳 本文章记录学习于——52.面向切面:AOP-场景模拟_哔哩哔哩_bilibili 最近闲来无事,在学习Spring的源码: 后面慢慢更新源码系列blog,希望多多关注🙏🙏 目前已经总结的b…...
26、【OS】【Nuttx】用cmake构建工程
背景 之前wiki 14、【OS】【Nuttx】Nsh中运行第一个程序 都是用 make 构建,准备切换 cmake 进行构建,方便后续扩展开发 Nuttx cmake 适配 nuttx项目路径下输入 make distclean,清除之前工程配置 adminpcadminpc:~/nuttx_pdt/nuttx$ make …...
C#中序列化的选择:JSON、XML、二进制与Protobuf详解
C#中序列化的选择:JSON、XML、二进制与Protobuf详解 在C#开发中,序列化是将对象转换为可存储或传输的格式的过程,而反序列化则是将存储或传输的数据重新转换为对象的过程。选择合适的序列化方式对应用程序的性能、可维护性和兼容性至关重要。…...
单片机实现模式转换
[任务] 要求通过单片机实现以下功能: 1.单片机有三种工作模式(定义全局变量MM表示模式,MM1,2,3表示三种不同的模式) LED控制模式 风扇控制模式 蜂鸣器控制模式 2.可以在某一个模式下通过拓展板KEY1按键控制设备 (按…...
Shader -> SweepGradient扫描渐变着色器详解
XML文件 <com.example.myapplication.MyViewxmlns:android"http://schemas.android.com/apk/res/android"android:layout_width"match_parent"android:layout_gravity"center"android:layout_height"400dp"/>自定义View代码 c…...
鼠标过滤驱动
文章目录 概述代码参考资料 概述 其编写过程大体与键盘过滤驱动相似,只需要切换一下附加的目标设备以及创建的设备类型等。但在该操作后依然无法捕获到Vmware创建的win7操作系统的鼠标irp信息,于是通过在获取鼠标驱动,遍历其所有的设备进而附…...
【深度学习】数据操作入门
数据操作 为了能够完成各种数据操作,我们需要某种方法来存储和操作数据。 通常,我们需要做两件重要的事:(1)获取数据;(2)将数据读入计算机后对其进行处理。 如果没有某种方法来存储…...
WIFIAP项目 5G RX二次谐波超标案例分析
一、 问题的现象及描述 采用博通WIFI方案方案的两个项目在做CE高频杂散测试时发现5G RX出现10.359 GHz的高频杂散点,通过更换信道,该杂散点跟着改变,最终确认该频率是5G主信号的二倍频;如下图: 二、 问题分析 由于…...
HarmonyOS(ArkUI框架介绍)
ArkUI框架介绍 ArkUI简介 基本概念 UI: 即用户界面。开发者可以将应用的用户界面设计为多个功能页面,每个页面进行单独的文件管理,并通过页面路由API完成页面间的调度管理如跳转、回退等操作,以实现应用内的功能解耦。 组件&…...
在 Ubuntu 下通过 Docker 部署 MySQL 服务器
引言 Docker 是一个开源的容器化平台,允许开发者将应用及其依赖打包成一个标准化的单元。MySQL 是一个广泛使用的关系型数据库管理系统,因其高性能、可靠性和易用性,成为许多应用的首选数据库。结合 Docker 和 MySQL,可以轻松地创…...
MCU 和 PSK
在加密和认证领域,MCU 和 PSK 是两个不同的概念,分别涉及硬件和密钥管理。下面是它们的含义和相关解释: 1. MCU 全称:Microcontroller Unit(微控制单元) 用途: MCU 是一种集成了 CPU、内存&am…...
Linux:进程概念(二.查看进程、父进程与子进程、进程状态详解)
目录 1. 查看进程 1.1 准备工作 1.2 指令:ps—显示当前系统中运行的进程信息 1.3 查看进程属性 1.4 通过 /proc 系统文件夹看进程 2. 父进程与子进程 2.1 介绍 2.2 getpid() \getppid() 2.3 fork()函数—通过系统调用创建进程 fork()函数疑问 3. 进程状态…...
苍穹外卖07——来单提醒和客户催单(涉及SpringTask、WebSocket协议、苍穹外卖跳过微信支付同时保证可以收到订单功能)
Spring Task介绍 应用场景: 信用卡每月还款提醒银行贷款每月还款提醒火车票销售系统处理未付款订单入职纪念日为用户发送通知 cron表达式 cron表达式其实就是一个字符串,通过cron表达式可以定义任务触发的时间。 构成规则:分为6或7个域&…...
C语言二级考试
你必须知道的 二级考试不是编写程序,或者说不只是编程的考核,它还会考核计算机C语言相关语言还有内涵等基础知识,比较全面综合(说人话,要看最新考纲具备一定的基础知识) 考试时间 120 分钟 分值 100 分&…...
IDEA Maven构建时报错:无效的目标发行版17
报错分析 报错原因:Maven 构建时,Java 版本配置不匹配 我安装的JDK版本是1.8,但由于种种原因,Maven构建时指定了 Java 17 作为目标发行版,从而导致错误 解决方案 首先,java -version,查看环…...
javafx 将项目打包为 Windows 的可执行文件exe
要将 JavaFX 项目打包为 .exe 文件,你可以使用一些工具将你的应用程序封装为 Windows 可执行文件。以下是两种常用的方法: 方法 1:使用 jpackage(适用于 JDK 14 及更高版本) jpackage 是 JDK 内置的工具,…...
Python操作Excel的库openpyxl使用入门
openpyxl 是一个用于读写 Excel 2010 xlsx/xlsm/xltx/xltm 文件的 Python 库。以下是一些 openpyxl 的基本使用方法: 安装 openpyxl 首先,确保已经安装了 openpyxl。如果没有安装,可以使用以下命令进行安装: pip install openp…...
数据通过canal 同步es,存在延迟问题,解决方案
当使用 Canal 同步数据到 Elasticsearch(ES)时,出现延迟问题通常源于多个因素,如 Canal 配置、网络延迟、ES 的负载和性能瓶颈等。以下是一些解决方案,帮助减少和解决延迟问题: 1. 优化 Canal 配置 Canal…...
了解Node.js
Node.js是一个基于V8引擎的JavaScript运行时环境,它允许JavaScript代码在服务器端运行,从而实现后端开发。Node.js的出现,使得前端开发人员可以利用他们已经掌握的JavaScript技能,扩展技能树并成为全栈开发人员。本文将深入浅出地…...
Android Studio创建新项目并引入第三方jar、aar库驱动NFC读写器读写IC卡
本示例使用设备:https://item.taobao.com/item.htm?spma21dvs.23580594.0.0.52de2c1bbW3AUC&ftt&id615391857885 一、打开Android Studio,点击 File> New>New project 菜单,选择 要创建的项目模版,点击 Next 二、输入项目名称…...
Oracle Dataguard(主库为双节点集群)配置详解(4):配置备库
Oracle Dataguard(主库为双节点集群)配置详解(4):配置备库 目录 Oracle Dataguard(主库为双节点集群)配置详解(4):配置备库一、为备库配置静态监听1、配置 li…...
前端炫酷动画--文字(二)
目录 一、弧形边框选项卡 二、零宽字符 三、目录滚动时自动高亮 四、高亮关键字 五、文字描边 六、按钮边框的旋转动画 七、视频文字特效 八、立体文字特效让文字立起来 九、文字连续光影特效 十、重复渐变的边框 十一、磨砂玻璃效果 十二、FLIP动画 一、弧形边框…...
ceph 数据均衡
实现数据均衡的主要方法 在 Ceph 集群中,实现 OSD(对象存储守护进程)之间的数据均衡对于提升性能和资源利用率至关重要。以下是实现数据均衡的主要方法: 1. 调整 OSD 权重(Reweight) 通过调整 OSD 的权重,可以控制数据在各个 OSD 之间的分布。Ceph 提供了根据利用率或…...
代码随想录算法训练营day29
代码随想录算法训练营 —day29 文章目录 代码随想录算法训练营前言一、134. 加油站暴力解法贪心算法 二、135. 分发糖果三、860. 柠檬水找零四、406.根据身高重建队列vector版list版 总结 前言 今天是算法营的第29天,希望自己能够坚持下来! 今日任务&a…...
android studio根据包名获取当前安装包信息
package com.example.myapplication2;import android.content.Context; import android.content.pm.PackageInfo; import android.content.pm.PackageManager; import android.util.Log;/**** 获取版本信息*/ public class SystemHelper {/*** 获取本地软件版本号*/public stat…...
学习第六十五行
仔细观察键盘,会发现一个$符号,其实是有含义的。 在 shell 脚本中,美元符号 $ 有几种重要的含义: 变量引用:$ 用于引用变量的值。例如,如果你有一个变量 name,可以通过 $name 来获取它的值。 n…...
零碎的知识点(七):线性二次调节器(LQR)是什么?
线性二次调节器(LQR)是什么? 1. LQR的定义与目标2. LQR的原理性能指标 J J J最优解的计算控制律 3. LQR的性质4. 举例说明问题描述解步骤仿真结果 5. 实际应用总结 线性二次调节器(LQR) 是一种经典的最优控制方法&…...
Matlab一些使用技巧
代码分段 两个百分号就可以实现代码的分段,不同段之间会以不同的背景色显示,方便调试 如下: %% 腐蚀 stlen TimeWidth*Fs/50; %线性算子的长度,1/100的脉宽,对应0.5us,15个采样点 stlen 100; SE strel…...
wordpress 新建栏目/关键词优化哪家好
1.论述 1.1.获取计算机系统所有实际可用物理区域信息 计算机系统的物理区域并不是连续的,且有的物理区域映射到特定硬件内部区域以便实现特定功能。 对计算机系统的物理区域进行分页管理,首先,要获取所有离散的物理区域信息。 INT 15h, AXE…...
在线做ppt的网站有哪些/石家庄seo网络推广
卷积神经网络(CNN) 属于人工神经网络的一种,它的权重共享的网络结构显著降低了模型的复杂度,减少了权值的数量。卷积神经网络可以直接将图片作为网络的输入,自动提取特征,并且对图片的变形(如平移、比例缩放、倾斜&…...
文案素材网站/网络营销策略理论有哪些
XP系统提示“HTTP500内部服务器错误”怎么办?这是近来不少使用windowsxp系统的朋友们都遇到的问题。为了帮助大家更好地使用xp系统,下面小编就分享HTTP500内部服务器错误问题的原因和解决方法。一、造成500错误常见原因有:ASP语法出错、ACCES…...
flash网站素材下载/永久免费用的在线客服系统
内核:3.3 平台:rlx 涉及的主要文件有 include/linux/clk.h drivers/clk/clkdev.c drivers/clk/clk.c arch/rlx/bsp/clock.c 1、 clk通用接口 内核定义了一套标准的接口(include/linux/clk.h),用于所有的平台之上。每个时钟源对象使用…...
动画设计就业前景/seo快速排名源码
http://www.docin.com/p-443803801.html...
校园网站建设初探论文/百度关键词排名工具
编辑代码时插入模式和覆盖模式的切换怎么做编辑代码时插入模式和覆盖模式的切换怎么做?也就是说光标变成了方块而不是竖线,这种情况该怎么解决呢?不要捉急!首先,我们知道在编辑文档时,有两种模式࿱…...