如何自动升级 Flutter 依赖

Eva*_*tti 19 dart-pub flutter

我的 Flutter 项目对flutter_dotenvversion有依赖性,^2.0.1我想自动升级到新版本^2.0.2

我正在运行以下命令来升级它:

flutter pub upgrade
Run Code Online (Sandbox Code Playgroud)

参考:仅升级包

要更新到 pubspec.yaml 文件中列出的所有依赖项的最新兼容版本,请使用 upgrade 命令:

颤振酒吧升级

然而,似乎什么也没有发生。pubspec.yaml不会改变,控制台输出也没有提到新版本(这就足够了)。

我的pubspec.yaml看起来像这样:

environment:
  sdk: ">=2.1.0 <3.0.0"

dependencies:
  flutter:
    sdk: flutter
  flutter_dotenv: ^2.0.1
  cupertino_icons: ^0.1.2

dev_dependencies:
  flutter_test:
    sdk: flutter

flutter:
  uses-material-design: true
Run Code Online (Sandbox Code Playgroud)

Apo*_*dey 25

上述方法有效,但您可以使用此命令:

flutter pub upgrade --major-versions
Run Code Online (Sandbox Code Playgroud)

它将更新您的所有依赖项。

还要检查“如何正确添加依赖项以避免“版本解决失败”错误

参考这个:https : //stackoverflow.com/a/67517680/13500457

我希望它清除一切,快乐编码!

  • 这完全做到了! (2认同)
  • 这也会更新 pubspec.yaml 吗? (2认同)
  • 截至两周前,现在有一个“--tighten”标志,它也会更新 pubspec.yaml 进行细微更改。 (2认同)

Sur*_*gch 16

Flutter 基于语义版本控制自动升级非破坏性更改。您不希望中断更改是自动的。更新反映在 中pubspec.lock,但不反映在 中pubspec.yaml

有几个 IDE 插件可以帮助您更轻松地升级软件包,而不是在pub.dev逐一查找

安卓工作室

Flutter Pub 版本检查器

此插件突出显示pubspec.yaml您拥有的任何过时的依赖项,以便您可以根据需要选择更新它们。

视觉工作室代码

Pubspec 协助

这个插件使添加或更新依赖项变得非常简单,而无需转到pub.dev,但您仍然必须一次检查它们。


Ric*_*eap 8

跑步pub永远不会改变pubspec.yaml。但是,它可能会解析为与指定的“基本”版本不同的版本 - 前导插入符允许 pub 解析为:

保证向后兼容指定版本的所有版本的范围

pubspec.lock签入文件,您可能会看到 pub 已经解决了version: "2.0.2"


Elm*_*mar 5

对于从非常旧的版本升级到空安全版本:

//Upgrading flutter sdk
flutter upgrade
//Upgrading dart code
dart migrate
// Upgrading all pubspec.yaml package versions
flutter pub outdated --mode=null-safety

// Download all new versions of the packages
dart pub get
Run Code Online (Sandbox Code Playgroud)

再次升级 dart 代码。在此阶段,您应该纠正所有问题(手动或使用迁移指南,否则会显示“由于分析错误,迁移工具未启动”。

// See list of available fixes
dart fix --dry-run

// Fix all issues automatically
dart fix --apply
Run Code Online (Sandbox Code Playgroud)

请参阅这篇文章了解更多详细信息

在此处查看 Flutter 迁移指南