使用 Flutter/Dart 版本低于 1.0.0 时,如何在依赖 git 包时设置版本约束?

问题描述

我正在尝试为版本低于 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 pubflutter pub 不知道如何在您的存储库中搜索软件包版本,因此默认选择 master 分支上的最新提交。

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...