【发布时间】:2019-01-25 06:19:11
【问题描述】:
我想在我的 npm 包的 package.json 中添加以下依赖项:
"redux-saga": "^1.0.0-beta.0 || ^0.16.0"`.
所以当我将我的这个包安装在已经有的不同项目中时
"redux-saga": "^1.0.0-beta.1
我希望 npm/yarn 仅在项目的 node_modules 内安装 1.0.0-beta.1。但是,它会在我的包中传递安装0.16.0。
所以我检查了semver calculator 并得到了redux-saga 包的奇怪结果:
-
^1.0.0-beta.0 || ^0.16.0只允许0.16.0- 这是意料之外的 -
^1.0.0-beta.0 || ^0.15.0允许预期0.15.0 0.15.1 0.15.2 0.15.3 0.15.4 0.15.5 0.15.6 1.0.0-beta.0 1.0.0-beta.1
我在文档中找不到任何解释。我的问题是 - 如果它不是错误,那么为什么 ^1.0.0-beta.0 || ^0.16.0 不允许 1.0.0-beta.1?
【问题讨论】:
-
这对我来说绝对是错误的。
-
很奇怪,包容性比较似乎被破坏了?
<=1.0.0-beta.0也不包含 beta.0
标签: javascript node.js npm yarnpkg semantic-versioning