今天是Flutter系列第六节。今天给大家介绍flutter版本控制工具 <code>FVM</code>
Flutter的安装与设置(第一节)
35分钟教你学会dart(第二节)
每个 Flutter 开发人员都应该知道的 16 个 Dart 技巧和窍门(第三节)
flutter架构(第四节)
如何在flutter中构建响应式布局(第五节)
FVM 切换VSCode 的Flutter版本
随着flutter2.5.0的发布,相信很多同学都是激动的心,颤动的手,想快速尝试一波,做一个吃螃蟹的人,本人也是曾怀揣着这样的心情,头脑一热的将本地的flutter版本更新到2.05.0了,螃蟹吃完了,但是回到项目(公司项目采用的1.20.4)代码时,一打开,一片红,各种报错,我滴个乖乖~,又赶紧将版本回退到之前的稳定版本!
本着又想吃螃蟹,又想兼顾公司项目代码的想法,还是幼稚了,幸运的是,https://github.com/leoafarias/fvm 就能满足需求。在这里介绍一款flutter的版本管理神器 <code>FVM</code>,
安装方式我给了两种,
choco和 pub
FVM 可以在用户本机通过安装多个Flutter SDK版本,来为项目指定Flutter版本,或者快速在各个版本间切换,解决只有一个Flutter版本对不同项目兼容问题。

cmd 安装
直接拷贝执行即可,注意需要管理员身份运行
PowerShell 安装
更新
可以安装成功
<code>choco list -li</code> 查看本地安装的软件
<code>choco search nodejs</code> 查找安装包
<code>choco install sublimetext3</code> 下载
<code>choco uninstall sublimetext3</code> 卸载
<code>choco upgrade sublimetext3</code> 更新(update)!
可以设置系统环境变量、
现在我们将在这里配置 VS Code,我们将看到如何完成 VS Code 过程。目录的路径,我们可以在代码中看到 FVM 安装的所有版本
这里提示在settings.json添加以下内容。
用fvm命令,输入<code>fvm</code>出现如下信息,即配置成功,可以开始使用fvm管理了。
为了获得上面的路径,我们将执行 fvm list 命令
输入 cmd + shift +p
初始化项目
前往<code>Languages & Frameworks -> Flutter</code>或搜索 Flutter 并更改 Flutter SDK 路径。
将fvm 符号链接的*绝对\*路径复制到您的项目根目录中。例子:<code>/absolute-path/.fvm/flutter_sdk</code>
应用更改。
重新启动 Android Studio 以查看应用的新设置。
您现在可以使用所选版本的 Flutter 运行和调试。
版本切换前先用<code>fvm list</code> 检查一下本地版本
然后使用
<code>fvm list</code>切换你想要的版本
其他的设置同电脑终端的设置一样,可以参考:[
https://github.com/leoafarias/fvm#vscode
FVM 将在您的项目中创建一个相对符号链接<code>.fvm/flutter_sdk</code>到所选版本的缓存。将其添加到您的<code>.gitignore</code>
您可以通过设置环境变量来配置fvm缓存目录<code>FVM_HOME</code>。如果没有设置,将使用默认的fvm路径。您还可以通过<code>--cache-path</code>在配置上设置来更改目录。见下文
您可以在 FVM 上更改一些配置。在 CLI 上设置的所有设置都与 Sidekick(GUI) 兼容。
一般需要查看命令的使用说明,都会通过 <code>--help</code> 查看。
config:对 fvm 进行配置
flutter:对 Flutter 的命令进行代理
install:安装 Flutter 版本
list:查看已安装的 Flutter 版本
releases:查看 Flutter sdk 都有哪些发布的版本
remove:删除已安装的某个 Flutter 的版本
use: 选择你要使用的版本
version: 查看安装 fvm 的版本
对于子命令的更多使用方法,我们可以通过 <code>fvm help </code> 进行查看,比如:
-h,--help :可以查看更多使用信息
--global: 将这个版本设置为全局版本
--force: 跳过执行 Flutter 项目检查命令
命令学习的套路就是多用 help。其他命令读大家可自行学习。
安装 Flutter SDK 版本。使您能够安装 Flutter 版本或频道。
删除 Flutter SDK 版本。将影响依赖于该版本 SDK 的任何项目。
列出已安装的 Flutter SDK 版本。还将打印 FVM 使用的缓存目录。
查看所有可供安装的 Flutter SDK 版本。
显示有关环境和项目配置的信息。
代理命令时,<code>FVM</code>将按以下顺序查找 sdk。
项目
父级 目录
全局(通过 FVM 设置)
环境(Flutter 版本配置于<code>PATH</code>)
配置全局版本
项目多个选项
您可以为每个项目环境或发布类型配置多个 Flutter SDK 版本。FVM 遵循 Flutter 的相同约定并将其称为<code>flavors</code>.它允许您为您的项目创建以下配置。
要为特定版本选择 Flutter SDK 版本,您只需使用该<code>use</code>命令。
将获取为flavor配置的版本并设置为项目版本。
列出所有配置的口味:
发生这种情况的原因有几个。但是这意味着 FVM 快照与安装的 Dart 版本不兼容。请执行以下操作:
在 Windows 上,请确保您的 env 变量按[PATH 中 Windows 的环境变量]顺序所述的顺序排列。
跑 <code>dart pub global deactivate fvm</code>
跑 <code>dart pub global activate fvm</code>
Flutter 内置了 Dart。因此,当单独运行 Dart 和 Flutter 时,您会发现一些冲突。这是我们发现的正确依赖顺序以避免出现问题的建议。
全局包的发布缓存
Dart SDK(如果安装在 Flutter 之外)
FlutterSDK
它应该是这样的。C:\Users\<用户>\AppData\Roaming\Pub\Cache\bin
C:\src\flutter\bin\cache\dart-sdk\bin
C:\src\flutter\bin
如果您得到<code>Command 'pub' not found</code>,请确保附加<code>export PATH="$PATH:/usr/lib/dart/bin"</code>到您的<code>/.bashrc(每次打开 bash shell 时都会重新启动)或/.profile</code>(仅在登录时读取)文件。
<code>choco upgrade sublimetext3</code> 更新(update)
今天的分享到这儿就与大家说再见了,
如果大家喜欢,可以关注我的公众号