检查 semver 是不是正确

Posted

技术标签:

【中文标题】检查 semver 是不是正确【英文标题】:Checking if semver if correct检查 semver 是否正确 【发布时间】:2016-05-17 00:43:33 【问题描述】:

我在 package.json 中有这样的依赖项:

<packageName1>: ^0.1.0,
<packageName2>: <url>,
<packageName3>: 5.1.0

有什么方法可以检查“^0.1.0”和“5.1.0”是正确的,但是“”是不正确的semver?

我使用了 semver npm 包,但没有看到任何功能。

【问题讨论】:

【参考方案1】:

当通过 url 引用包时,不能指定任何版本;即使你这样做了,npm 也会忽略这一点。

当然,您可以手动执行此操作:很容易读取您的package.json,解析出semver 约束,获取您的依赖版本(通过读取它的package.json),最后使用node-semver lib (或类似的)以确保安装的版本在指定的范围内。

【讨论】:

谢谢。我使用 semver.valid("^0.1.0") 并获得空值。我的灵魂是 semver.validRange【参考方案2】:

我使用 semver.validRange 方法而不是 semver.valid

【讨论】:

以上是关于检查 semver 是不是正确的主要内容,如果未能解决你的问题,请参考以下文章

将此类版本控制命名为 semver 是不是正确?

SemVer 是不是大升级?

语义版本控制 (Semver) - 如何对向后兼容的大型功能更新进行 semver

package.json 中的版本是不是应该始终遵循 semver?

semver:匹配预发布后缀 (3.* =/= 3.4.5-1)

补丁是不是可以在 SemVer 中包含添加内容?