问题描述
我正在尝试为版本低于 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 存储库中提取的?
解决方法
从 documentation on pubspec.yaml dependencies 来看,Git 依赖项使用 ref
键指定要从存储库中拉取的版本。 dart pub
和 flutter pub
不知道如何在您的存储库中搜索软件包版本,因此默认选择 master 分支上的最新提交。