比较 semver 版本与波浪号/插入符号

Comparing semver versions with tilde / caret

假设我正在使用 NPM semver 包:

const semver = require('semver');

如果我将确切版本与 tilde/caret 版本进行比较,哪个参数具有 tilde/caret 重要吗?例如:

semver.eq('1.2.3', '^1.2');

semver.neq('~1.3.3', '1.2.8');

我猜你可以在不做任何改变的情况下切换参数,但我不是 100% 确定。

实际上 semver.eq 不适用于这样的范围。

semver.satisfies 确实如此,而且位置很重要:

console.log(semver.satisfies('1.0.0', '^1'))     // true
console.log(semver.satisfies('1.2.2', '~1.2.3')) // false


console.log(semver.satisfies('^1.0', '1.0.0'))   // Exception
console.log(semver.satisfies('1.2.2', '~1.2.3')) // Exception

console.log(semver.eq('1.0.0', '^1.0.0'))        // Exception
console.log(semver.eq('^1.0', '1.2.3'))          // Exception

这里是ripllink to see