【问题标题】:How do you bump a transitive dependency in package-lock.json你如何在 package-lock.json 中增加传递依赖
【发布时间】:2020-03-24 14:00:04
【问题描述】:

我的项目依赖于analytics-node,它依赖于axios: "^0.16.2"

我们被npm audit 标记为axios 存在漏洞,但已在0.18.1 中修复。

但是,analytics-node 没有依赖于0.18.1 或更高版本的候选版本(只有测试版)。

我们已经尝试过:

  • npm audit fix,
  • npm update axios --depth 2,
  • npm install axios@0.18.1

我最困惑的部分是为什么npm不允许我们覆盖axiosanalytics-node版本,因为版本应该兼容。

【问题讨论】:

    标签: npm package-lock.json


    【解决方案1】:

    npm-force-resolutions 正是出于这个原因,专门修复了传递依赖版本解析。

    如果有支持的方法来使用 package-lock.json 做到这一点,那就更好了。

    【讨论】:

      【解决方案2】:

      NPM 8 引入了“覆盖”,它允许您覆盖直接依赖项的特定传递依赖项。对于您的用例,您可以在 package.json 中声明如下内容。

      {
        "overrides": {
          "analytics-node": {
            "axios": "0.18.1"
          }
        }
      }
      

      更多详情@https://docs.npmjs.com/cli/v8/configuring-npm/package-json#overrides

      【讨论】:

        猜你喜欢
        • 2018-12-07
        • 2019-04-06
        • 2019-03-26
        • 1970-01-01
        • 2018-04-19
        • 2019-10-02
        • 1970-01-01
        • 2020-01-16
        • 1970-01-01
        相关资源
        最近更新 更多