3

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

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

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

根据 Dart.dev依赖项文档^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 存储库中提取的?

4

1 回答 1

3

pubspec.yaml 依赖项的文档来看,Git 依赖项使用ref密钥指定要从存储库中提取的版本。dart pub并且flutter pub不知道如何在存储库中搜索包版本,因此默认选择 master 分支上的最新提交。

于 2021-07-02T18:55:59.517 回答