【Windows环境下使用fvm管理多版本Flutter(flutter版本升级回退)】

本文详细记录了在Windows系统中使用fvm管理Flutter多版本的过程,包括fvm的安装、Flutter版本升级与回退,以及解决升级过程中遇到的问题。通过设置环境变量、修改git配置和调整fvm下载路径,成功实现Flutter版本切换,并指导了如何在项目中应用fvm。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Windows环境下使用fvm管理多版本Flutter(flutter版本升级回退)

安装FVM

方式一:

使用choco安装fvm(当时环境中Flutter版本是1.22.4,Dart是2.10.4,安装时报错,没再继续,使用了方式二)

	choco install fvm

方式二:(使用的该方式)

使用dart的pub进行安装

	dart pub global activate fvm

使用方式二安装成功后,使用fvm命令时却闪退了,查了很久发现是Dart版本过低的原因导致,感觉方法一的失败原因应该也是因为版本过低导致的

接下来升级Flutter版本,因为升级Flutter版本会自动适配对应的Dart版本,翻阅别人的坑据说单独升级Dart版本会出问题,但并没试过,既然都说了是坑了,还踩它干嘛

升级版本

	flutter upgrade

出现问题:

	ProcessException: Process exited abnormally:

	fatal: unable to access 'https://github.com/flutter/flutter.git/': OpenSSL SSL_read: SSL_ERROR_SYSCALL, errno 10054

  	Command: git fetch --tags

解决办法:修改git缓存值大小:

	git config --global http.postBuffer 524288000

接着又出现问题:

	ProcessException: Process exited abnormally:
	
	fatal: unable to access 'https://github.com/flutter/flutter.git/': Failed to connect to github.com port 443: Timed out

  	Command: git fetch --tags

解决办法:使用代理

	git config --global --unset http.proxy

之后又出现问题:

	Your flutter checkout has local changes that would be erased by upgrading. If you want to keep these changes, it is recommended
	that you stash them via "git stash" or else commit the changes to a local branch. If it is okay to remove local changes, then
	re-run this command with --force.

解决办法:添加 --force 强制执行

	flutter upgrade --force

用git reset,可以指定到某个版本,也可以回退版本
回退版本,进入flutter的目录下,运行指令:git reset --hard commit-id

	git reset --hard commit-id

使用flutter --version 查看版本,此时会自动下载对应版本的Dart

commit-id 可以在 github.com/flutter/flutter中查看到

查看commit id
找到需要的Flutter版本
commit id
commit it

升级后,使用方法二再次安装fvm

接下来继续操作fvm

1、系统环境变量,Path中添加C:\Users\{自己的用户名}\AppData\Local\Pub\Cache\bin
FVM环境变量
2、关闭并重启命令行,使用fvm命令,发现已经不闪退了
fvm命令
3、默认fvm的下载地址是在C盘,改一下:
配置fvm下载地址:fvm config --cache-path E:\fvm\versions\

fvm config --cache-path E:\fvm\versions\

修改fvm下载地址
4、此时可以查看一下 fvm列表 ,目前是空的

	fvm list

接下来就可以在配置的fvm下载地址中下载各种版本的Flutter了

	fvm install 1.22.4

再查看下fvm list
fvm list
5、把项目中的ignore文件添加:

	# fvm
	.fvm/flutter_sdk

6、执行fvm use 1.22.4
在项目根目录下使用 fvm list 发现当切换到的版本这里会显示(active)
项目根目录下fvm list
执行命令,如果出现Android Studio没有权限,设置Android Studio快捷方式为管理员权限打开
设置AndroidStudio权限
当前项目的版本已经切换成功了

7、把AndroidStudio的FlutterSDK路径换一下
AndroidStudio改FlutterSDK路径
换到FVM刚修改过的下载目录下,Dart不用管,他会自动找到,直接Apply

想看项目是否已经正确更换了版本,请看下图红框部分区别:
fvm flutter --version
最后如果发现项目中还是报错,那么就需要使用下面的命令并重启一下AndroidStudio试试吧

	fvm flutter clean
	fvm flutter pub get
<think>嗯,用户想了解Flutter Version Manager(FVM)的使用指南。首先,我需要整理FVM的基本概念和主要功能。FVM是用于管理多个Flutter版本的工具,方便开发者切换不同项目所需的SDK版本。根据用户提供的引用,FVM允许通过命令如`fvm flutter <command>`来运行特定版本的Flutter,这在引用1提到过。 接下来,用户可能需要安装步骤。根据引用2和3,Windows和Mac的安装方法有所不同。Windows需要安装Dart然后通过pub安装,而Mac可能使用brew。需要分平台说明,确保用户清楚各自的安装流程。 然后,配置部分也很重要。用户提到的引用4指出可以通过`fvm config --cache-path`指定SDK缓存路径,这应该包含在配置指南里。另外,常用命令如安装特定版本、列出已安装版本、切换版本等都是核心功能,需要详细列出。 使用场景部分,用户可能想知道何时需要FVM,比如多项目开发或测试不同版本兼容性。需要结合引用2和3中的信息,说明FVM如何提升效率。 注意事项部分,比如路径配置和环境变量的问题,特别是Windows和Mac的区别,引用2和3提到过环境变量的设置,这部分需要强调,避免用户遇到问题。 生成相关问题的时候,要考虑用户可能的后续疑问,比如安装问题、版本回退、与IDE集成等,确保覆盖常见的使用场景和问题排查。 最后,确保回答结构清晰,分步骤讲解,引用正确来源,并检查LaTeX格式是否符合要求,比如行内公式用$...$,独立公式用$$...$$,但在这个问题中可能用不到数学公式,不过要注意代码块和命令的正确格式。</think>### Flutter Version Manager (FVM) 使用指南 FVM 是专为 Flutter 开发者设计的版本管理工具,支持多版本切换和隔离管理,适用于需要同时维护多个项目的场景[^2][^3]。 #### 1. 安装 FVM - **Windows**: 1. 确保已安装 Dart SDK:`dart pub global activate fvm` 2. 将路径添加到环境变量:`C:\Users\<用户名>\AppData\Roaming\Pub\Cache\bin` - **Mac**: ```bash brew tap leoafarias/fvm brew install fvm ``` #### 2. 配置缓存路径 通过以下命令指定 Flutter SDK 存储路径(避免默认路径空间不足): ```bash fvm config --cache-path D:\fluttersdk # Windows 示例[^4] ``` #### 3. 核心命令 | 命令 | 功能 | |-------------------------------|--------------------------------| | `fvm install 3.13.9` | 安装指定 Flutter 版本 | | `fvm list` | 查看已安装版本 | | `fvm use 3.13.9` | 切换当前项目版本 | | `fvm flutter run` | 使用 FVM 管理版本运行命令[^1] | | `fvm global 3.13.9` | 设置全局默认版本 | #### 4. 多项目管理 - **项目级隔离**: ```bash cd your_project fvm use 3.13.9 # 生成 .fvm 目录存储版本配置 ``` - **IDE 集成**: 在 VS Code 或 Android Studio 中,将 Flutter SDK 路径指向 `.fvm/flutter_sdk`。 #### 5. 场景建议 - **跨版本调试**:快速验证不同 Flutter 版本的行为差异 - **团队协作**:通过提交 `.fvm` 配置确保团队成员版本一致 - **CI/CD 管道**:精确控制构建环境Flutter 版本 #### 6. 注意事项 - **环境变量冲突**:Windows 需检查 `PATH` 中 Flutter 路径优先级 - **版本清理**:定期使用 `fvm remove <version>` 删除旧版本 - **网络问题**:国内用户建议配置镜像源加速 SDK 下载
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值