【发布时间】:2018-05-30 14:12:14
【问题描述】:
我正在开发一个 npm 包,并意识到它在添加时添加到 package.json 的确切版本
npm i -S packagename
如何告诉它使用 ^0.0.1 而不是 0.0.1 ? 我可以在包本身中将其定义为默认值吗?
【问题讨论】:
标签: npm dependencies semantic-versioning
我正在开发一个 npm 包,并意识到它在添加时添加到 package.json 的确切版本
npm i -S packagename
如何告诉它使用 ^0.0.1 而不是 0.0.1 ? 我可以在包本身中将其定义为默认值吗?
【问题讨论】:
标签: npm dependencies semantic-versioning
这是因为^0.0.1 被认为等同于0.0.1。
当一个包的版本以 0 开头时,它被认为是在开发中,并且语义版本控制规则是不同的。当版本为0.0.X 时,任何一个数字的增加都可能会发生重大变化。可以看到规则here。
插入符号范围 ^1.2.3 ^0.2.5 ^0.0.4
允许不修改
[major, minor, patch]元组中最左边的非零数字的更改。换句话说,这允许对1.0.0及更高版本进行补丁和次要更新,对0.X >=0.1.0版本进行补丁更新,对于0.0.X版本不允许更新。
当您增加次要版本时,您可能会看到插入符号,但它也会有上面提到的特殊规则。当您增加主要版本时,“普通”规则开始应用。
【讨论】: