替换任意深度的依赖版本

问题描述 投票:0回答:1

我克隆 this repo,并将

overrides
字段添加到
airflow/www/package.json
以强制指定任意深度的
glob
版本:

{
  "name": "airflow-www",
  ...
  "resolutions": {
    "d3-color": "^3.1.0"
  },
  "overrides": {
    "glob": "10.0.0"
  },
  ...
}

现在,当我运行

yarn install
,然后运行
npm list --depth 4
时,我仍然可以在其他版本中看到
glob
yarn.lock
也是如此,而我希望只看到
[email protected]

$ npm -v
10.5.0
$ yarn -v
4.2.2
npm yarnpkg-v4
1个回答
0
投票

如 Yarn 文档中的 选择性依赖解析 所示,用例之一是:

您可能依赖于一个不经常更新的软件包,而这又依赖于另一个进行了重要升级的软件包。在这种情况下,如果你的直接依赖指定的版本范围没有覆盖新的子依赖版本,那么你就只能等待作者了。

话虽如此,应该添加到

"resolutions"
键,因为它已经为
d3-color
完成了。所以它会是这样的:

{
  "name": "airflow-www",
  ...
  "resolutions": {
    "d3-color": "^3.1.0",
    "glob": "10.0.0"
  },
  ...
}

© www.soinside.com 2019 - 2024. All rights reserved.