使用fvm管理多个flutter版本

article/2025/10/22 13:13:09
  1. 安装独立的dart环境

官方安装方法:https://dart.dev/get-dart

 

brew tap dart-lang/dart
brew install dart
  • 更新dart版本:

 

brew upgrade dart
  • 重新安装dart

 

brew reinstall dart
  • 查看当前dart版本:

 

$ dart --version
Dart SDK version: 2.13.1 (stable) (Fri May 21 12:45:36 2021 +0200) on "macos_x64"
  • 查看当前安装的dart信息:

 

$ brew info dart
dart-lang/dart/dart: stable 2.13.1, HEAD
The Dart SDK
https://dart.dev
Conflicts with:dart-beta (because dart-beta ships the same binaries)
/usr/local/Cellar/dart/2.13.1 (508 files, 477.8MB) *Built from source on 2021-05-31 at 09:44:27
From: https://github.com/dart-lang/homebrew-dart/blob/HEAD/dart.rb
==> Options
--HEADInstall HEAD version
==> Caveats
Please note the path to the Dart SDK:/usr/local/opt/dart/libexec
  1. 安装fvm

命令:pub global activate fvm

 

$ pub global activate fvm
Package fvm is currently active at version 2.0.5.
Resolving dependencies... (3.4s)
The package fvm is already activated at newest available version.
To recompile executables, first run `global decativate fvm`.
Installed executable fvm.
Warning: Pub installs executables into $HOME/.pub-cache/bin, which is not on your path.
You can fix that by adding this to your shell's config file (.bashrc, .bash_profile, etc.):export PATH="$PATH":"$HOME/.pub-cache/bin"Activated fvm 2.0.5.
  1. 配置

.bash_profile中添加:

 

# fvm
export PATH="$PATH":"$HOME/.pub-cache/bin"

使.bash_profile生效:

 

source ~/.bash_profile

重启命令行工具,执行fvm

 

$ fvm
Flutter Version Management: A cli to manage Flutter SDK versions.Usage: fvm <command> [arguments]Global options:
-h, --help       Print this usage information.--verbose    Print verbose output.--version    current versionAvailable commands:config     Set configuration for FVMdart       Proxies Dart Commandsdoctor     Shows information about environment, and project configuration.flavor     Switches between different project flavorsflutter    Proxies Flutter Commandsglobal     Sets Flutter SDK Version as a globalinstall    Installs Flutter SDK Versionlist       Lists installed Flutter SDK Versionsreleases   View all Flutter SDK releases available for install.remove     Removes Flutter SDK Versionspawn      Spawns a command on a Flutter versionuse        Sets Flutter SDK Version you would like to use in a projectRun "fvm help <command>" for more information about a command.
  1. fvm相关命令

fvm官方使用文档

  • 配置fvm缓存路径(可选,默认在用户目录下fvm/versions文件夹):

 

fvm config --cache-path <CACHE_PATH>
  • 查看当前安装的flutter版本:

 

$ fvm listNo SDKs have been installed yet. Flutter. SDKs installed outside of fvm 
will not be displayed.
  • 安装指定版本的flutter:

 

$ fvm install 2.2.1
Flutter "2.2.1" is not installed.Installing version: 2.2.1...
Cloning into '/Users/yuanzhiying/fvm/versions/2.2.1'...
  • 删除指定版本:

 

$ fvm remove 2.2.0
Removing 2.2.0...
2.2.0 removed.

此时会在用户目录下自动创建fvm/versions/2.2.1文件夹,如果本地已有flutter,可将本地的flutter拷贝到versions目录下,文件夹改为对应的版本名。当前flutter版本可以在flutter根目录下的version文件里查看。

 

/Users/yuanzhiying/fvm/versions/1.22.6
  • 查看汇漫网已安装的flutter版本:

 

$ fvm list
Cache Directory:  /Users/yuanzhiying/fvm/versions2.2.0
1.22.6
  • 查看环境信息和项目配置

 


FVM Version: 2.0.5
___________________________________________________FVM config found:
___________________________________________________Project: info_valley
Directory: /Users/yuanzhiying/mobile_life/info_valley
Version: 1.22.6
Project Flavor: None selected
___________________________________________________Version is currently cached locally.Cache Path: /Users/yuanzhiying/fvm/versions/1.22.6
Channel: false
SDK Version: 1.22.6IDE Links
VSCode: .fvm/flutter_sdk
Android Studio: /Users/yuanzhiying/mobile_life/info_valley/.fvm/flutter_sdkConfigured env paths:
___________________________________________________Flutter:Dart:
/usr/local/Cellar/dart/2.13.1/libexec/bin/dartFVM_HOME:
not set
  1. 使用对应版本的flutter:
    切换至项目目录,执行命令:

 

$ cd mobile_life/info_valley
$ fvm use 1.22.6
Project now uses Flutter [1.22.6]
HandshakeException: Connection terminated during handshake

查看当前的使用版本:

 

$ fvm list
Cache Directory:  /Users/yuanzhiying/fvm/versions2.2.0
1.22.6 (active)

项目目录下会生成一个隐藏文件夹.fvm

 

 

 

  1. 配置项目忽略文件.gitignore

 

.fvm/flutter_sdk
  1. 项目配置flutter路径

选择fluttersdk路径:

 

自动生成当前使用的flutter路径:

 

 

重启Android studio。

  1. flutter命令的使用

此时执行flutter doctor找不到flutter命令:

 

$ flutter doctor
zsh: command not found: flutter

所有flutter命令前加上fvm即可:

 

$ fvm flutter doctor
Doctor summary (to see all details, run flutter doctor -v):
[✓] Flutter (Channel stable, 1.22.6, on macOS 11.3 20E232 darwin-x64, locale zh-Hans-CN)
[✓] Android toolchain - develop for Android devices (Android SDK version 30.0.2)
[✓] Xcode - develop for iOS and macOS (Xcode 12.5)
[✓] Android Studio (version 4.2)
[!] Connected device! Error: 营的iPhone is not connected. Xcode will continue when 营的iPhone is connected. (code -13)! Doctor found issues in 1 category.

 

$ fvm flutter pub get
Running "flutter pub get" in info_valley...                         1.4s
  1. flutterdart命令的使用

所有dart命令前加上fvm即可:

 

$ fvm dart --version
fvm: running Dart from Flutter "1.22.6"Dart SDK version: 2.10.5 (stable) (Tue Jan 19 13:05:37 2021 +0100) on "macos_x64"
  1. 便捷使用命令

.bash_profile中设置命令的别名:

 

# aliases 快捷使用fvm命令
alias f="fvm flutter"
alias d="fvm dart"

使生效:

 

source ~/.bash_profile

重启命令行工具。

 

$ f pub get
Running "flutter pub get" in info_valley...                         1.0s

 

$ d --version
Running using Flutter version configured in path.Dart SDK version: 2.13.1 (stable) (Fri May 21 12:45:36 2021 +0200) on "macos_x64"
  1. 设置全局默认的flutter版本

 

$ fvm global 1.22.6
Flutter "1.22.6" has been set as global
However your "flutter" path current points to:.
to use global Flutter SDK through FVM you should change it to:/Users/yuanzhiying/fvm/default/bin

此时fvm目录下自动生成了一个default的快捷文件夹。


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

相关文章

fvm管理多个Flutter版本(Win10安装记录)

文章目录 FVM官网参考1.安装2.配置FVM环境变量3.修改一下fvm文件缓存地址&#xff0c;以免以后下载的flutter sdk下载到C盘4. 默认fvm的下载地址是在C盘&#xff0c;修改fvm缓存地址5.下载安装Flutter SDK6. 将原来电脑上的SDK复制到E:\Flutter\FlutterSDK\ 下改名为版本号7.系…

Flutter FVM 版本管理

Fvm 安装 尝试方案 目前可行性的方案 中间可能失败的原因 尝试过四套博客上的方案&#xff0c;最终只有上面哪一个成功了&#xff0c;后来总结了一下那些方案的套路都是一样的&#xff0c;而且应该都是可行的&#xff08;因为其他同事都成功了&#xff09;例如&#xff1a;…

使用FVM管理Flutter SDK版本切换

window下配置fvm版本切换工具&#xff0c;管理flutter sdk版本的切换 一、配置flutter dart环境 使用前需要先配置flutter dart环境&#xff0c;才能下载jvm 已经配置好环境的&#xff0c;在命令框中输入dart --version验证是否安装成功 C:\Users\topqizhi>dart --versi…

基于FVM的应力求解

FVM&#xff1a;有限体积法&#xff0c;作为一种有限元处理方法&#xff0c;在弹性力学领域得到了广泛应用。该方法主要利用Navier-Stocks方程对多面体&#xff08;polyhedral&#xff09;网格进行空间离散。本文旨在针对线弹性材料边界应力问题进行分析。 本文主要解决单一材料…

【Flutter】macOS从零开始使用FVM搭建Flutter开发环境

前言 本文为个人记录macOS系统使用fvm从零开始搭建flutter开发环境到项目运行的过程&#xff0c;非教程性质&#xff0c;仅供参考&#xff0c;如有疑问或建议&#xff0c;欢迎大家在评论区留言 附上开发设备配置 一、安装vscode 以vscode为编码工具 下载地址&#xff1a;Do…

flutter fvm 版本控制

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-EjoR1x37-1626914814179)(https://ducafecat.tech/2021/07/22/translation/version-management-in-flutter/2021-07-22-08-39-22.png)] 老铁记得 转发 &#xff0c;猫哥会呈现更多 Flutter 好文~~~~ …

Flutter之fvm管理版本

对于flutter SDK版本&#xff0c;相信很多人都有深有体会&#xff0c;项目多了以后&#xff0c;可能每个项目使用的SDK都不同。 我个人的经历是&#xff1a;官方从2.12版本推出空安全版本&#xff0c;由于最初的项目用的空安全之前版本&#xff0c;老项目无法尽数适配空安全&a…

flutter版本控制工具 `FVM`

文章目录 FVM 切换VSCode 的Flutter版本在windows上安装fvm方法一&#xff1a;先安装 choco检查安装是否成功 常用指令接下来安装fvm方法二&#xff1a;pub方式安装 fvmVSCode配置安卓studio Flutter版本切换项目缓存目录列出配置 设置缓存路径配置 常用命令安装删除列出releas…

flutter 版本控制fvm

1先安装 choco powershell 管理员身份运行 不会的话&#xff0c;先打开一个powershell 窗口 &#xff0c;然后右击任务栏&#xff0c;选择第一个&#xff0c;即可进入 输入命令 Set-ExecutionPolicy Bypass -Scope Process -Force; [System.Net.ServicePointManager]::Securi…

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

随着flutter2.0的发布&#xff0c;相信很多同学都是激动的心&#xff0c;颤动的手&#xff0c;想快速尝试一波&#xff0c;做一个吃螃蟹的人&#xff0c;本人也是怀揣着这样的心情&#xff0c;头脑一热的将本地的flutter版本更新到2.0了&#xff0c;螃蟹吃完了&#xff0c;但是…

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

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

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

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

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

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

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

网页可见区域高&#xff1a;document.body.clientHeight 网页正文全文高&#xff1a;document.body.scrollHeight 网页可见区域高&#xff08;包括边线的高&#xff09;&#xff1a;document.body.offsetHeight 网页被卷去的高&#xff1a;document.body.scrollTop 屏幕分辨率…

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

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

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

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

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

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

offsetHeight及其他

网页可见区域宽&#xff1a;document.body.clientWidth 网页可见区域高&#xff1a;document.body.clientHeight 网页可见区域宽&#xff1a;document.body.offsetWidth (包括边线的宽) 网页可见区域高&#xff1a;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 (返回不…