每次当技术改变为一个新的主版本时,将一个项目从较低的版本迁移到较高的版本是痛苦的。幸运的是,Dart 有一个迁移工具,可以帮助您将项目中的定义迁移到新的语法中。
但是即使你已经准备好切换到一个更新的版本,你也必须等待在你的项目中使用的一系列插件,即使在我的情况下,我确实帮助一些开源库迁移到 Null-Safety,这不足以将我的项目迁移到下一个版本。
社区每天都在成长,在大多数情况下,你会找到一些替代插件,这些插件还没有被迁移。如果您停留在以前的Flutter版本,本文将帮助您简化在项目之间的切换。
版本管理
Flutter版本有一个相关的 Dart SDK 版本,可以在本地缓存到Flutter缓存文件夹中,因此您应该记住一些约束。
作为一个开发者,你有几个选项可以在不同版本之间切换:
- 使用命令行脚本(CLI)进
- Flutter版本管理器 CLI
- 跟班图形用户界面
手册
当你有两个或三个项目并在它们之间切换时,这个选项对你来说并不常见。
Flutter CLI 具有 git 控制的版本管理,因此即使使用 git checkout < tag > 命令也很容易切换。要查看可以签出的版本列表,只需运行 git tag-l,然后在找到所需版本时按 q 退出。
下载所需版本
你可以访问 Flutter 发行版页面下载所需版本的快照,并替换环境变量版本以使用下载的版本。
Flutter CLI
您可以尝试使用 flutter downgrade <version>
命令来降低它的等级,但是您将面临一个无法从2. x 切换到1的问题。
GIT
幸运的是,Flutter SDK 使用 GIT 来管理版本,因此您可以有一个单一的目录来切换,而不像下载每个版本,并减少硬件上的空间。
假设你的 SDK 副本位于 ~/flutter 然后:
最后,您将看到 flutter — version 命令的输出:
当你需要切换回最新版本时,反之亦然:
如果您对此步骤没有意见,可以通过调用 * 来存储这些脚本并自动执行降级/升级过程。命令行中的 sh 文件。
FVM (Flutter 版本管理器)
以前,当我基于 React 和 ReactNative 开发应用程序时,我使用 NPM (节点包管理器)来管理项目中的依赖关系,Flutter 中的一个类似工具是 pub。有时候我需要更改 NPM 版本,但是它对 Node 版本有限制,所以我需要做同样的步骤,下载几个版本,替换目录等等。为了避免这个例程,我使用了 NVM (节点版本管理器) ,我的日子就要好起来了。
幸运的是,Flutter 有一个名为 FVM 的非官方工具,可以做同样的事情,它管理 Flutter 版本并将它们存储在您的硬件上。
FVM 有两种使用方式:
- 除了主要的 Flutter SDK 外,还有一个硬件
- 作为 Flutter SDK 的主要来源
只需按照安装 fvm.app/docs/gettin… 和配置说明的 fvm.app/docs/gettin… 来正确设置你的环境。
另一个令人惊奇的选择是 FVM 的 GUI,称为 Sidekick,它使得全局或本地(项目) Flutter SDK 版本管理更加舒适,如果你不是 CLI 的大粉丝。