当依赖 git 包时如何设置版本限制使用 Flutter/Dart 低于 1.0.0 的版本?

How to set version constraints when depending on git packages using Flutter/Dart with versions below 1.0.0?

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

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 存储库中提取的?

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