Npm可传递依赖项-不是最新版本



在一个有角度的项目中,我们有以下传递依赖项:

"dependencies": {
...
"angular-fancybox-plus": "^1.0.3",

它给出了以下树(角度扇形盒加上最后一个版本是1.0.3(:

`-- angular-fancybox-plus@1.0.3
+-- fancybox-plus@1.3.8
| `-- jquery@3.3.1  deduped
`-- jquery@3.3.1

我的问题是:为什么解析的jquery版本是3.3.1而不是3.4.1(即最新的(?

angular-fancybox-plusfancybox-plus都不限制版本:

"dependencies": {
"jquery": ">=2.1.4",

由于使用了>=运算符,解析的版本是jquery的最新版本。此运算符允许任何大于或等于指定包的包(优先于最新的包(。您可以通过以下方式进行测试:https://semver.npmjs.com/查看每个操作员的工作方式:

https://docs.npmjs.com/about-semantic-versioning

如果您正在寻找jquery的特定版本,则需要在您的fancybox包中手动使用~补丁符号或^次要版本符号来指定该版本。

库将3.3.1作为依赖项的原因是由于以前存在jquery安装。由于这是一个完全满足>=2.1.4要求的依赖项,因此它将被标记为满足angular-fancybox-plus的依赖项要求,并且不会更新。

相关内容

  • 没有找到相关文章

最新更新