【问题标题】:How to set version constraints when depending on git packages using Flutter/Dart with versions below 1.0.0?1.0.0以下版本依赖使用Flutter/Dart的git包时如何设置版本约束?
【发布时间】:2021-09-14 14:57:00
【问题描述】:

我正在尝试为版本低于 1.0.0 的 git 包依赖项设置约束;但是,它也可能是上面的版本,但不确定。

Flutter 项目依赖于我们在 git 存储库中托管的两个包。

我们在 pubspec.yaml 中将它们引用为 git packages

根据 Dart.dev dependencies docs: ^0.1.2 is equivalent to '>=0.1.2 <0.2.0'

但是,无论我们的版本限制如何,它总是在 github 上获取最新版本。

这是我们在 pubspec.yaml 中引用包的方式,如下所示:

my_private_package:
    git:
      url: ssh://git@github.com-org/my_private_package/my_private_package.git
      ref: develop
      version: ^0.30.0

例如:如果我们在这个 repo 中有一个版本为 0.32.1 的分支,上面的代码似乎不起作用(或者更确切地说,尊重版本限制)并且只会获得 0.32.1 版本而不是 0.30.x

在这种情况下,有谁知道如何防止flutter pub get 命令拉取 0.32.1?插入符号约束是否不起作用,因为我们可能是从 git 存储库中提取的?

【问题讨论】:

    标签: flutter dart dart-pub semantic-versioning pubspec


    【解决方案1】:

    根据documentation on pubspec.yaml dependencies 判断,Git 依赖项使用ref 键指定要从存储库中提取的版本。 dart pubflutter pub 不知道如何在存储库中搜索包版本,因此默认选择 master 分支上的最新提交。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2020-12-06
      • 2021-10-01
      • 2019-05-16
      • 1970-01-01
      • 2019-11-16
      • 2013-06-14
      • 2020-04-18
      相关资源
      最近更新 更多