我有一个半年前构建的现有 Flutter 应用程序。我查了一下pubspec.lock
,它有这一行:
sdks:
dart: ">=2.10.0-110 <2.11.0"
flutter: ">=1.16.0 <2.0.0"
所以我假设该应用程序是为 Flutter v1.16 构建的。
-
如何升级此应用程序以使用最新的 Flutter 版本?运行“flutter doctor”给了我[√] Flutter (Channel stable, 1.22.3, on Microsoft Windows [Version 10.0.19041.630], locale en-US)
,所以我的SDK已经更新到最新版本了。
-
有趣的是,当我从头开始创建一个新应用程序时,pubspec.lock
没有任何关于 Flutter 版本的信息。同一部分现在仅包含以下内容:sdks: dart: ">=2.10.0-110 <2.11.0"
。将来我怎么知道这个应用程序运行的是哪个版本?
我尝试在我的应用程序中运行“flutter Upgrade”,但那是升级 SDK,而不是应用程序的 Flutter 版本。那么如何升级我的应用程序以使用最新的 Flutter 版本呢?或者它总是使用最新版本的 SDK 构建?我不能将我的应用程序定位为使用特定版本的 Flutter 进行构建吗?
以下步骤需要dart2.19
工具或更低,因为省道
迁移工具在版本 3 中被删除:
要将项目更新为空安全,请按照下列步骤操作:
旁注:更改 flutter 版本pubsec.yaml
,创建新项目并复制以下行:
sdk: ">=2.19.6 <3.0.0"
然后按照以下步骤操作:
- Run
flutter upgrade
在终端中升级Flutter
- Run
dart migrate
运行 dart 迁移工具。
- 解决迁移工具显示的所有错误。
- Run
flutter pub outdated --mode=null-safety
打印所有过时的包。
- Run
flutter pub upgrade --null-safety
自动升级所有软件包。
-
检查代码是否有错误并解决(很重要)。
- Run
dart migrate
再次,现在应该会成功。点击链接查看建议的更改。
- 按“应用迁移”按钮。
- 再次检查代码是否有错误并修复它们。
您的项目现在应该已更新。
参考自此website https://www.felixlarsen.com/blog/update-your-flutter-project-to-flutter-20.
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)