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

时间:2020-02-24 12:36:51

标签: angular npm dependencies fancybox dependency-management

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

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

给出以下树(angular-fancybox-plus最后的版本是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",

1 个答案:

答案 0 :(得分:1)

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

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

如果您要查找特定版本的jquery,则需要通过在fancybox软件包中手动使用~补丁符号或^次要发行版符号来指定此版本。

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

相关问题