我正在使用此软件包:https://github.com/npm/node-semver在我正在处理的项目中进行一些简单的semver版本比较(我使用的是最新的5.3.0版本)。这似乎是一个非常安全的库。事实上,文档说:
节点的semver解析器(npm使用的那个)
所以我很惊讶遇到任何问题。在使用某些非常基本的版本时,我会使用任何比较函数获得TypeError: Invalid Version
,例如:^1.2.3
,~1.2.3
等。事情按预期工作,只要很长时间因为我排除了插入符号/波浪号,但这似乎是真正基本的东西。我错过了一些明显的东西吗?
示例(我只是在Gulp任务中运行它们):
// logs 1.2.3
console.log(semver.valid('1.2.3'));
// logs 'null'
console.log(semver.valid('^1.2.3'));
// logs 'null'
console.log(semver.valid('~1.2.3'));
// logs TypeError: Invalid Version ^1.2.3`
console.log(semver.satisfies('1.3.0', '^1.2.3'));
答案 0 :(得分:0)
版本和版本范围之间存在区别; 1.2.3
是前者,^1.2.3
是后者。
^1.2.3
和~1.2.3
不引用任何一个版本;可能有多个版本满足这些范围。