我有一个Flutter应用程序,是我半年前开发的。我查看了pubspec.lock,它有这样一行代码:
sdks:
dart: ">=2.10.0-110 <2.11.0"
flutter: ">=1.16.0 <2.0.0"
所以我假设这个应用程序是为Flutter v1.16构建的。
1.如何升级此应用程序以使用Flutter的最新版本?运行“flutter doctor”会得到[√] Flutter (Channel stable, 1.22.3, on Microsoft Windows [Version 10.0.19041.630], locale en-US)
,因此我的SDK已经更新到最新版本。
1.有趣的是,当我从头开始创建一个新的应用程序时,pubspec.lock并没有任何关于Flutter版本的信息。sdks: dart: ">=2.10.0-110 <2.11.0"
。将来,我怎么知道这个应用程序运行的是哪个版本?
我曾尝试在我的应用中运行“Flutter升级”,但那是为了升级SDK,而不是Flutter版本的应用。那么,我该如何升级我的应用以使用最新的Flutter版本呢?还是始终使用最新版本的SDK构建?我不能将我的应用定位为使用特定版本的Flutter构建吗?
5条答案
按热度按时间jm81lzqq1#
要将项目更新为null safety,请执行以下步骤:
旁注:更改
pubsec.yaml
中的flutter版本,创建新项目并复制以下行:然后执行以下步骤:
1.在终端中运行
flutter upgrade
升级Flutter1.运行
dart migrate
以运行dart迁移工具。1.解决迁移工具显示的所有错误。
1.执行
flutter pub outdated --mode=null-safety
以打印所有过期的套件。1.执行
flutter pub upgrade --null-safety
以自动升级所有套件。1.检查代码是否有错误并解决(非常重要)。
1.再次运行
dart migrate
,现在应该成功了。请按照链接 checkout 建议的更改。1.按“应用迁移”按钮。
1.再次检查代码中是否有错误并修复它们。
您的项目现在应该更新了。引用自此website。
k5hmc34c2#
转到你的flutter项目的根目录并运行flutter upgrade。这将把你现有的flutter项目和flutter SDK升级到最新版本。
运行以下命令:
仅在升级到最新稳定版本时增加
如果您只想升级到最新版本,请先检查您当前的flutter频道
步骤1:检查稳定通道
您将得到如下输出:
如果输出不是这样,请继续执行步骤2或直接继续执行步骤3
步骤2:切换到Flutter稳定通道
现在,您将得到如下输出:
步骤3:运行以下命令升级到flutter的最新稳定版本
41ik7eoe3#
在项目根目录中,运行以下命令
此命令将更新本地安装在您工作站上的Flutter SDK,想知道这有什么意义?
运行上述命令
flutter upgrade
后,SDK将在本地更新,无论何时构建或运行Flutter应用,它都将始终选择本地安装的最新稳定版本(稳定通道)。要检查运行,
您应该根据您的工作站上本地安装的版本获得如下所示的内容。
您可以随时使用以下命令切换到不同的频道,
答案-Flutter SDK本地安装在您的工作站上,想知道这有什么意义?
打开pubspec.yml文件,查看以下内容:
1.其中版本:1.0.0+1是您的flutter应用程序版本
1.当您运行命令
flutter run
时,您的应用程序应选择定义的环境sdk: ">=2.1.0 <3.0.0"
1.具有中定义的所有依赖项,
其中
sdk: flutter
表示应从本地安装的SDK版本中提取SDK。回想一下,您是如何在本地工作站上第一次安装Flutter SDK的,如下面的MAC示例,查看所有SDK releases
稍后,更新路径并运行
flutter doctor
。或
稍后,更新路径,并运行
flutter doctor
。注意:您可以检查pubspec.lock文件,它可能如下所示,
kxxlusnw4#
我将向您展示一种迁移旧代码项目简单方法。
我的建议是不要在现有的旧项目上工作。相反,创建一个新项目,在那里你可以一次把你现有的项目代码变成新的干净整洁的代码。
现在把一行代码放在已有的旧代码项目终端上,如下图。
例如,您终端代码如下:
好了,好了
之后,您的新项目将不再显示任何系统问题,如gradle问题,android宣言问题,即.
如果您想了解更多关于flutter迁移的信息:[请参阅此Flutter文档]
mqkwyuun5#
如果你升级了你项目,但是仍然有问题,那么请检查你的路径拼写是否正确!2?
我也面临这个问题。升级后的项目,它不会为我工作。然后我看我的代码,有错过的路径。