Nexus Sonatype NPM repo不支持semver版本控制

时间:2017-07-16 18:40:21

标签: npm nexus sonatype semantic-versioning

我们将Nexus用于我们的NPM包存储库(以及其他内容)。 在我们的package.json文件中,我们使用semver语法https://docs.npmjs.com/misc/semver 但它被忽略了。有谁知道我们是否有配置问题?或者也许不是NPM对Nexus的期待?

在开发过程中可能发生的情况示例:

组件A - package.json:

    "name": "ComponentA",
    "version": "1.1.2"

组件B - package.json:

    "name": "ComponentB",
    "version": "3.0.0"
    "dependencies": 
        "ComponentA": "^1.1.0"

Person1 build&将ComponentA的1.1.2版发布到nexus。

一个。 ComponentA npm运行构建 湾ComponentA npm发布到nexus C。 npm查看ComponentA最新:1.1.2

现在,Person2构建7将ComponentA的1.1.1版本发布到。

一个。 ComponentA npm运行构建 湾ComponentA npm发布到nexus C。 npm查看ComponentA最新版本:1.1.1 Nexus将组件的最新版本视为已发布的最新版本,尽管知道1.1.2也已发布。

现在,当ComponentB安装其依赖项时,我希望得到ComponentA的1.1.2版,但实际上我得到版本1.1.1

d。以componentB      npm install

1 个答案:

答案 0 :(得分:0)

我认为这就是npm的工作原理。 ^ 1.1.0表示使用最新版本的1.1.x - 在这种情况下,它将是1.1.1,因为它按照您已完成的顺序上传时标记为最新版本。