问题描述
在 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
处解释所有修饰符 ,主要、次要和补丁代表一个包的不同版本。
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
,则使用插入符号只会获取补丁版本。