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

时间:2020-11-12 03:44:38

标签: flutter

我有一个半年前开发的现有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已更新为最新版本。

  2. 有趣的是,当我从头开始创建新应用时,pubspec.lock没有有关Flutter版本的任何信息。现在同一部分仅包含以下内容:sdks: dart: ">=2.10.0-110 <2.11.0"。将来,我怎么知道该应用程序正在运行哪个版本?

我尝试在我的应用程序中运行“ flutter升级”,但这只是为了升级SDK,而不是应用程序的Flutter版本。那么,如何升级我的应用程序以使用最新的Flutter版本?还是总是使用最新版本的SDK来构建?我不能将我的应用定位为使用特定版本的Flutter构建吗?

3 个答案:

答案 0 :(得分:3)

在你的项目根目录中,运行下面的命令

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 应用版本
  2. 当您运行命令 flutter run 时,您的应用应选择定义的环境,即 sdk: ">=2.1.0 <3.0.0"
  3. 根据定义的所有依赖项,
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

答案 1 :(得分:2)

要将项目更新为空安全,请执行以下步骤:

旁注:更改 $OUTPUT 中的 flutter 版本,新建项目并复制以下行:

pubsec.yaml

然后按照以下步骤操作:

  1. 在终端运行 sdk: ">=2.12.0 <3.0.0" 来升级 Flutter
  2. 运行 flutter upgrade 以运行 dart 迁移工具。
  3. 解决迁移工具显示的所有错误。
  4. 运行 dart migrate 以打印所有过时的包。
  5. 运行 flutter pub outdated --mode=null-safety 以自动升级所有软件包。
  6. 检查代码是否有错误并解决(非常重要)。
  7. 再次运行 flutter pub upgrade --null-safety,现在应该会成功。点击链接查看提议的更改。
  8. 按下“应用迁移”按钮。
  9. 再次检查代码是否有错误并修复它们。

您的项目现在应该更新了。 引用自此 website

答案 2 :(得分:0)

转到flutter项目的根目录,然后运行 flutter升级。这会将您现有的flutter项目和flutter SDK都升级到最新版本。

运行命令:

flutter upgrade

仅用于升级到最新的稳定版本的其他

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

第1步: 检查频道稳定

flutter channel

您将获得如下输出:

  beta
  dev
  master
* stable

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

第2步: 切换到抖动稳定频道

flutter channel stable

现在您将获得如下输出:

  beta
  dev
  master
* stable

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

flutter upgrade