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

问题描述

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

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

解决方法

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

^ 字符表示“兼容

举个例子

http: ^0.13.3 与 http: 0.13.3 甚至这个 http: '0.13.3' 有何不同

表示 >=0.13.3

您可以在Semver cheatsheet

处解释所有修饰符 ,

主要、次要和补丁代表一个包的不同版本。

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/