我们使用Nexus作为NPM包存储库(除其他外)。在我们的package.json文件中,我们使用语义语法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构建并将ComponentA版本1.1.2发布到nexus。
a. ComponentA npm运行build b. ComponentA npm发布到nexus c. npm视图ComponentA最新: 1.1.2
现在,Person2 builds 7发布了ComponentA的1.1.1版本。
a. ComponentA npm运行build b. ComponentA npm发布到Nexus c. npm视图ComponentA最新版本:1.1.1Nexus将组件的最新版本视为最新发布的版本,尽管知道1.1.2也已发布。
现在,当ComponentB安装它的依赖项时,我希望得到ComponentA的1.1.2版本,但实际上是1.1.1版本的。
d. ComponentB npm安装
发布于 2017-08-15 20:35:45
我认为这正是国家预防机制的运作方式。^1.1.0意味着使用最新版本的1.1.x -在本例中,按您所做的顺序上传时,它将是1.1.1,因为它被标记为最新版本。
https://stackoverflow.com/questions/45132137
复制相似问题