如何升级现有Flutter应用程序?

gab6jxml  于 2022-12-05  发布在  Flutter
关注(0)|答案(5)|浏览(304)

我有一个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构建吗?

jm81lzqq

jm81lzqq1#

要将项目更新为null safety,请执行以下步骤:
旁注:更改pubsec.yaml中的flutter版本,创建新项目并复制以下行:

sdk: ">=2.12.0 <3.0.0"

然后执行以下步骤:
1.在终端中运行flutter upgrade升级Flutter
1.运行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

k5hmc34c

k5hmc34c2#

转到你的flutter项目的根目录并运行flutter upgrade。这将把你现有的flutter项目和flutter SDK升级到最新版本。
运行以下命令:

flutter upgrade

仅在升级到最新稳定版本时增加

如果您只想升级到最新版本,请先检查您当前的flutter频道

步骤1:检查稳定通道

flutter channel

您将得到如下输出:

beta
  dev
  master
* stable

如果输出不是这样,请继续执行步骤2或直接继续执行步骤3

步骤2:切换到Flutter稳定通道

flutter channel stable

现在,您将得到如下输出:

beta
  dev
  master
* stable

步骤3:运行以下命令升级到flutter的最新稳定版本

flutter upgrade
41ik7eoe

41ik7eoe3#

在项目根目录中,运行以下命令

flutter upgrade

此命令将更新本地安装在您工作站上的Flutter SDK,想知道这有什么意义?
运行上述命令flutter upgrade后,SDK将在本地更新,无论何时构建或运行Flutter应用,它都将始终选择本地安装的最新稳定版本(稳定通道)。
要检查运行,

flutter channel

您应该根据您的工作站上本地安装的版本获得如下所示的内容。

Flutter is already up to date on channel stable
Flutter 2.0.3 • channel stable • https://github.com/flutter/flutter.git
Framework • revision 4d7946a68d (3 days ago) • 2021-03-18 17:24:33 -0700
Engine • revision 3459eb2436
Tools • Dart 2.12.2

您可以随时使用以下命令切换到不同的频道,

flutter channel dev
flutter upgrade

答案-Flutter SDK本地安装在您的工作站上,想知道这有什么意义?

打开pubspec.yml文件,查看以下内容:

version: 1.0.0+1

environment:
  sdk: ">=2.1.0 <3.0.0"

dependencies:
  flutter:
    sdk: flutter

1.其中版本:1.0.0+1是您的flutter应用程序版本
1.当您运行命令flutter run时,您的应用程序应选择定义的环境sdk: ">=2.1.0 <3.0.0"
1.具有中定义的所有依赖项,

dependencies:
  flutter:
    sdk: flutter

其中sdk: flutter表示应从本地安装的SDK版本中提取SDK。
回想一下,您是如何在本地工作站上第一次安装Flutter SDK的,如下面的MAC示例,查看所有SDK releases

cd ~/development
unzip ~/Downloads/flutter_macos_2.0.3-stable.zip

稍后,更新路径并运行flutter doctor

git clone https://github.com/flutter/flutter.git -b stable

稍后,更新路径,并运行flutter doctor
注意:您可以检查pubspec.lock文件,它可能如下所示,

sdks:
  dart: ">=2.12.0-0.0 <3.0.0"
  flutter: ">=1.16.0" <---- Use SDK greater than this installed locally
kxxlusnw

kxxlusnw4#

我将向您展示一种迁移旧代码项目简单方法。

我的建议是不要在现有的旧项目上工作。相反,创建一个新项目,在那里你可以一次把你现有的项目代码变成新的干净整洁的代码。
现在把一行代码放在已有的旧代码项目终端上,如下图。

$ flutter create -t <project-type> <new-project-path>

例如,您终端代码如下:

PS C:\Users\habib\VScodeProject\git_ripository\simple-weather-old> flutter create -t app C:\Users\habib\VScodeProject\git_ripository\simple-weather-new

好了,好了
之后,您的新项目将不再显示任何系统问题,如gradle问题,android宣言问题,即.
如果您想了解更多关于flutter迁移的信息:[请参阅此Flutter文档]

mqkwyuun

mqkwyuun5#

如果你升级了你项目,但是仍然有问题,那么请检查你的路径拼写是否正确!2?
我也面临这个问题。升级后的项目,它不会为我工作。然后我看我的代码,有错过的路径。

相关问题