FVM - Mac上管理 Flutter 多版本的神奇

article/2025/10/22 16:00:47

随着flutter2.0的发布,相信很多同学都是激动的心,颤动的手,想快速尝试一波,做一个吃螃蟹的人,本人也是怀揣着这样的心情,头脑一热的将本地的flutter版本更新到2.0了,螃蟹吃完了,但是回到项目代码时,一打开,一片红,各种报错,我滴个乖乖~,又赶紧将版本回退到之前的稳定版本!

本着又想吃螃蟹,又想兼顾公司项目代码的想法,在这里介绍一款flutter的版本管理神器 FVM,这里安装的话,我推荐使用Homebrew进行fvm的安装。

  1. 如果你的电脑没有Homebrew 的话,可以去它的官网查看安装方法,简单来说也就两步
  • 安装brew: git clone git://mirrors.ustc.edu.cn/homebrew-core.git//usr/local/Homebrew/Library/Taps/homebrew/homebrew-core --depth=1
  • 安装brew cask: git clone git://mirrors.ustc.edu.cn/homebrew-cask.git//usr/local/Homebrew/Library/Taps/homebrew/homebrew-cask --depth=1
  1. 通过brew安装 fvm:
    // 添加homebrew tapbrew tap xinfeng-tech/fvm// 安装 fvmbrew install fvm
复制代码

3.安装成功之后,就是配置你的环境变量到脚本工具中: 由于mac的脚本工具有 .bash.zsh 两个,一般默认的是 bash,具体切换,可以在这里参看苹果官网的切换方法

  • 如果是.bash作为默认Shell,可以在终端中使用 open -e .bash_profile 命令打开文件
  • 如果是.zsh作为默认Shell,可以在终端中使用 open .zshrc 命令打开文件

将下面的命令添加到你的Shell文件中进行配置即可

    export PUB_HOSTED_URL=http://mirrors.cnnic.cn/dart-pubexport FLUTTER_STORAGE_BASE_URL=http://mirrors.cnnic.cn/flutter export FVM_DIR="$HOME/.fvm"source "/usr/local/opt/fvm/init.sh"
复制代码

关于fvm的基本使用

  1. 查看fvm的版本
    fvm --version 
复制代码

2.使用fvm,安装某个flutter版本,例如安装 flutter 2.0

    fvm install 2.0.0
复制代码

3.查看fvm当前安装的flutter版本,由于我本地安装了 1.22.4 和 2.0.1,所有我的本地有两个flutter版本

    ~ apple$ fvm listcurrent => 1.22.4-stableinstalled versions:1.22.4-stable => 1.22.42.0.1-beta => 2.0.1default => 1.22.4latest => 1.22.4
复制代码

4.针对不同的项目设置不同的 Flutter 版本

  • 在终端,cd 到项目中
  • 使用fvm use 1.22.4 --local 命令进行配置,这里设置项目的flutter版本为,1.22.4

到此,就已经完成 fvm 的安装和基本使用

关于使用 Android Studio 进行项目开发的配置

在使用 Android Studio 时,我们之前的关于 flutterdart 的配置,应该是配置的本地 flutter 版本,所以在这里还需要配置成跟随 fvm 版本的切换而变化

  1. 配置 Android Studio 的 Flutter 版本
  • 打开 Android Studio 工具,找到 偏好设置,在搜索框中搜索 flutterLanguages & Frameworks 中,选择 Flutter,在 SDK 下面有一个 Flutter SDK path,在最右边有一个选择路径的按钮,点击之后弹出,文件目录,一般你的 fvm 是安装在 /Users/apple/ 文件路径下,然后选择 .fvm -> current 文件,点击 Open 保存。如果在 /Users/apple/ 文件下,没有 .fvm 的话,可以尝试使用 Command + Shift + . 的方式显示隐藏文件,从而找到 .fvm 文件

截屏2021-03-15 上午10.51.33.png

截屏2021-03-15 上午10.54.23.png

  1. 配置 Android Studio 的 Dart 版本
  • 同样方式在 Languages & Frameworks 中,选择 Dart,在 SDK 下面找到 Dart SDK path,将你的 path 配置成 /Users/apple/.fvm/current/bin/cache/dart-sdk

截屏2021-03-15 上午11.12.16.png

截屏2021-03-15 上午11.06.23.png

至此,关于 Android Studio 开发工具也配置成功,现在你就可以随意在本地切换 Flutter 的版本,然后使用开发工具进行开发了

不急不躁,好好学习,天天向上!!!


作者:CoderC
链接:https://juejin.cn/post/6939712499465846798
来源:掘金
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。


http://chatgpt.dhexx.cn/article/dN8VWWge.shtml

相关文章

官方蓄力已久,FVM虚拟机将使IPFS激励层生态迎来加速爆发期?

VM(Virtual Machine)指虚拟机,简单来说就是智能合约的执行引擎。 FVM指IPFS激励层公链上的虚拟机。 10月27日,胡安在万向峰会上做主题演讲时提及FVM,将社区内对于FVM的讨论推上了新顶峰。IPFS激励层官方对虚拟机的部署由来已久,社区方面也在积极讨论,此前在IPFS激励层周年…

FVM初启,Filecoin生态爆发着力点在哪?

Filecoin 小高潮 2023年初,Filecoin发文分享了今年的三项重大变更,分别是FVM、数据计算和检索市场的更新,这些更新消息在发布后迅速吸引了市场的广泛关注。 特别是在3月14日,Filecoin正式推出了FVM,这一变革使得Filec…

一篇弄懂 offsetWidth、offsetHeight、offsetleft、offsetTop和offsetParent的区别!(1)

快速理解offset之间的区别 1.offsetWidth与offsetHeight2.offsetParent3.offsetleft、offsetTop 以下代码均在Chrome浏览器中测试 1.offsetWidth与offsetHeight 1.offsetWidth:元素的布局宽度。   2.offsetHeight:元素的布局高度。   offsetWidth、o…

搞清楚 clientHeight、offsetHeight、scrollHeight、offsetTop、scrollTop

网页可见区域高:document.body.clientHeight 网页正文全文高:document.body.scrollHeight 网页可见区域高(包括边线的高):document.body.offsetHeight 网页被卷去的高:document.body.scrollTop 屏幕分辨率…

使用TS中元素使用offsetHeight,offsetTop,offsetLeft报错

使用ts后,可以使用scroll家族和client家族,但使用offset家族会报错但也能运行 报错 类型“Element”上不存在属性“offsetHeight” 原因:ts中Element类型上没有定义offsetHeight,解决如下:通过as HTMLDivElement解决…

彻底搞懂offsetHeight,clientHeight,scrollHeight,scrollTop,offsetTop

offsetHeight和clientHeight都是获取dom元素自身的高度的,它们之间的区别在于: offsetHeight:获取的高度除了自身高度外,还包含了padding和border clientHeight:获取的高度除了自身高度外,还包含了padding …

正文内容过长时,offsetHeight的获取和监听变化

正文内容过长时,超过4行隐藏,点击全部展开,可视高度(可见高度)offsetHeight的获取和监听变化_无围之解的博客-CSDN博客 核心逻辑代码 mounted() {this.$nextTick(() > {this.h1 this.$refs.div11.offsetHeight;});…

offsetHeight及其他

网页可见区域宽:document.body.clientWidth 网页可见区域高:document.body.clientHeight 网页可见区域宽:document.body.offsetWidth (包括边线的宽) 网页可见区域高:document.body.offsetHeight (包括边线的宽) 网页正文全文宽&a…

clientHeight offsetHeight scrollHeight offsetTop scrollTop

文章目录 各属性详解实现 offsetParent、offsetLeft/offsetTop深度剖析element.offsetParent定义祖先元素中不存在定位元素webkit内核、Firefox下的特殊情况 element.offsetWidth / element.offsetHeight定义 element.offsetLeft / element.offsetTop定义element在正常文档流中…

div之各种高度篇-offsetHeight、clientHeight、scrollHeight、 offsetHeight等等

资历尚浅,真的记不住这些花里胡哨的高度宽度、但是又经常要用到,头大 以下都是自己的理解,如果有误可以提醒下谢谢~ 以上图div为例子 一、offsetHeight = height + border + padding = 342 (返回不带px的数值) 二、clientHeight = height + padding = 340 (返回不…

关于offsetTop与offsetHeight的区别以及使用方法

offsetTop和offsetHeight是设置一个元素的位置和获取圆度大小经常会使用的参数,下面具体讲一下他们的区别于联系: 例如obj为html的一个元素对象, obj.offsetTop指的是obj距离上方或者父级元素(position非static)的位…

clientHeight和offsetHeight

clientHeight:包括padding但不包括border、水平滚动条、margin的元素的高度。对于inline的元素这个属性一直是0,单位px,只读元素。 offsetHeight:包括padding、border、水平滚动条,但不包括margin的元素的高度。对于in…

PHP 简单封装返回JSON数据接口

前言 本文使用 php 来做一个简单的接口&#xff0c;客户端传入数据&#xff0c;该接口返回 JSON 格式数据。 api.php <?php/* * (PHP简单封装JSON数据接口) * param integer $code 状态码 * param string $message 提示信息 * param array $data 数据 * return json(str…

PHP微信支付接口开发

在开始之前先看下功能 然后选择刷卡支付 输入手机微信钱包的授权码&#xff0c;成功运行 方法步骤&#xff1a; 需要先下一个DEMO&#xff0c;下DEMO的地方有两个&#xff1a; 一个是微信官方开发者文档地址 https://pay.weixin.qq.com/wiki/doc/api/jsapi.php?chapter11_1…

Shopify 全套接口开发,产品上传、订单检索、自动履行【PHP接口】开发

PHP 接口: 以下接口为基础实现接口,可以自由调用。 以下基础方法实现了: 产品的自动发布,将产品直接发布到店铺中。 订单的自动检索,将店铺中需要履行的订单全部拉下来。 订单的自动履行(发货),将运单号同步到店铺后台发货。 产品上传推荐使用CSV 方式,即将多个产品…

人人都是接口开发大师,这个开源项目花5分钟就可以开发一个API接口

PhalApi开源接口框架 读音&#xff1a;派框架&#xff0c;官网&#xff1a;https://www.phalapi.net/ PhalApi是一个PHP轻量级开源接口框架&#xff0c;致力于快速开发接口服务。支持HTTP/SOAP/RPC等协议&#xff0c;可用于搭建接口/微服务/RESTful接口/Web Services。承诺永…

php API接口入门

1.简述: api接口开发,其实和平时开发逻辑差不多;但是也有略微差异; 平时使用mvc开发网站的思路一般是都 由控制器 去 调用模型,模型返回数据,再由控制器把数据放到视图中,展现给用户; api开发是:使用控制器 去调用模型,模型返回数据,在有控制器 输出 json格式字符…

php开发之接口的使用

继承简化了对象&#xff0c;类的创建&#xff0c;增加了代码的可重性&#xff0c;但php只支持单继承&#xff0c;如果要实现多重继承&#xff0c;就要使用多个接口。 接口通过interface关键字来声明&#xff0c;并且类中只能包含未实现的方法和一些成员变量&#xff0c;格式如…

PHP开发APP接口注意事项

一、双方统一接口开发文档 为了提升开发效率及沟通方便&#xff0c;需要建立规范的开发文档。 一般保护接口的功能或页面、接口地址、接口参数、接口返回值等说明。 参考文档格式&#xff1a; 二、注意以下 分版本&#xff0c;为后面接口升级做好打算。提供密钥和token。…

YII2.0 接口开发步骤

新建表的model来操作表。 访问你本地站点的XXX/gii 即可打开。如果提示无法访问请自行修改config/web.php 文件下面的IP选项 $config[modules][gii] [class > yii\gii\Module,allowedIPs>[127.0.0.1,::1,"192.168.*", "自己定义自己的IP"],]; 这时候…