【问题标题】: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 包,但没有看到任何功能。

【问题讨论】:

    标签: node.js package.json semantic-versioning


    【解决方案1】:

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

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

    【讨论】:

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

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

    【讨论】: