Flutter 强制更高的包依赖版本

Posted

技术标签:

【中文标题】Flutter 强制更高的包依赖版本【英文标题】:Flutter force higher package dependency version 【发布时间】:2020-04-18 06:58:21 【问题描述】:

TLDR:如何为整个应用强制一个特定的 Flutter package(库)version

假设我的pubspec.yaml 文件中有以下依赖项:

dependencies:
  flutter:
    sdk: flutter

  datetime_picker_formfield: 0.4.3
  date_utils: 0.1.0+3
  intl: 0.15.8

这给了我一个版本冲突错误:

Because flutter_app depends on date_utils 0.1.0+3 
which depends on intl ^0.16.0, intl ^0.16.0 is required.

但是当我们将 intl 更改为 intl: 0.15.8 时,我们得到:

Because flutter_app depends on datetime_picker_formfield 0.4.3 
which depends on intl ^0.15.8, intl ^0.15.8 is required.

如何为 datetime_picker_formfielddate_utils 包强制使用 intl: 0.16.0

【问题讨论】:

【参考方案1】:

使用dependency_overrides 为整个 Flutter 应用强制使用特定的包版本。

dependency_overrides:
  intl: 0.16.0

所以我们得到:

dependencies:
  flutter:
    sdk: flutter

  datetime_picker_formfield: 0.4.3
  date_utils: 0.1.0+3
  intl: 0.16.0
  cupertino_icons: ^0.1.2

dependency_overrides:
  intl: 0.16.0

【讨论】:

以上是关于Flutter 强制更高的包依赖版本的主要内容,如果未能解决你的问题,请参考以下文章

如何使用 in_app_update 强制用户从 Flutter 中的 Play 商店更新应用

如何在 VSCode/flutter 中升级包?

在 iOS 中不推荐使用 Flutter 依赖项

关于Flutter报Cannot run with sound null safety

多个 Flutter 包的集中版本管理

不安全的 HTTP 在 Flutter 2.0.0 及更高版本中不起作用