6

我的项目取决于analytics-node哪个依赖于axios: "^0.16.2".

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

但是,analytics-node没有取决于0.18.1或更高版本的候选版本(只有 beta)。

我们尝试过:

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

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

4

2 回答 2

4

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

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

于 2019-12-04T05:16:30.470 回答
2

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

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

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

于 2021-12-27T00:40:55.097 回答