在 flutter 中声明库的版本时 ^ 是什么意思

what does ^ mean when declaring a version of a library in flutter

当在 flutter pubspec 文件中声明版本时,我经常看到符号 ^。怎么样:

http: ^0.13.3 不同于 http: 0.13.3 甚至这个 http: '0.13.3'

pub.dev 包使用 SemVer 或语义版本控制。

^字符表示“兼容”

举个例子

How is http: ^0.13.3 different from http: 0.13.3 or even this http: '0.13.3'

表示 >=0.13.3 <1.0.0

您可以在 Semver cheatsheet

查看所有修饰符的解释

major、minor、patch代表一个包的不同版本。

npm 使用波浪号 (~) 和插入符 (^) 分别指定要使用的补丁和次要版本。

因此,如果您看到~1.0.2,则表示安装版本1.0.2或最新的补丁版本,例如1.0.4。如果您看到 ^1.0.2,则表示安装版本 1.0.2 或最新的次要版本或补丁版本,例如 1.1.0.

但是如果在你的 npm package.json 文件中引用了一个尚未达到 version 1.0 的包,使用插入符号只会获取补丁版本。

来源:https://michaelsoolee.com/npm-package-tilde-caret/