Flutter 版本更新太快了 , 导致很多项目的运行依赖也不稳定 , 轻度维护的项目很容易由于插件和 Flutter 版本的不兼容而运行不起来.这里主要讲解下如果安装 FVM 用来管理各种 Flutter 版本

Windows 和 Mac 有多种方式安装 ,这里主要讲解通过 dart 环境安装 , 因为其他环境比如 Mac 用 brew 来安装这种方式在 Mac M4 下又会报其他错误,导致安装就很费时 , 这里统一都通过 dart 来安装

首先就需要电脑本身有dart版本,我这边本来用的 Flutter 3.27.4 ,因此就有环境

1
dart pub global activate fvm

执行后 , fvm执行程序就下载到了 dart 的 Pub Cache 目录下

Windows 默认在 C"\Users\用户\AppData\Local\Pub\Cache\bin

很多教程直接让把这个目录配置到环境变量下,然后直接运行fvm命令,__但是实际是不方便的! 因为实际开发过程中会很多次执行清除缓存的命令 flutter pub cache clean, 若执行了 fvm 就没了,又得重新执行命令下载 __ . 所以更好的办法是将这个fvm粘贴到一个自定义的目录 , 然后配置到环境变量

然后可以执行 fvm --version 查看是否安装成功 , 再将存储flutter版本的缓存目录改到自定义盘 (不然就是C盘杀手)

1
2
3
4
# 更改缓存路径
fvm config --cache-path D:\Fvm\versions
# 查看配置信息
fvm config

这里再查看可安装的版本

1
2
3
fvm releases
# 查看已安装的版本
fvm list

然后安装某个版本

1
fvm install 3.35.7

这里最好终端魔法上网,否则会很慢, 因为默认走的是 pub 海外站点

然后切换全局当前版本

1
fvm global 3.35.7 

然后会提示需要将环境变量中已有的flutter环境变量改为切换的flutter的环境变量 , Windows应该是自动替换了 , Mac需要手动替换 .

这里注意切换之前不要盲目删除旧的sdk目录 , 不然通过dart安装的fvm将无法运行

也可以指定项目局部flutter版本 , 这样就会在项目下生成一个.fvm目录 , 然后sdk直接下载到里面 , 个人不建议这样, 会导致过多重复的flutter版本 , 不如全局切换使用来的好

还有如果使用的是 IDEA 或者 AndroidStudio 开发的 Flutter , 这里终端执行的 Flutter 命令和编辑器按钮执行的命令SDK需要保持统一 , 编辑器在 File->Setting->搜索Flutter 将SDK路径修改为需求的Flutter版本路径 , 这个设置是项目维度的 , 比如重新创建项目 , 如果SDK不一致则需要重新指定

参考链接