我克隆 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
如 Yarn 文档中的 选择性依赖解析 所示,用例之一是:
您可能依赖于一个不经常更新的软件包,而这又依赖于另一个进行了重要升级的软件包。在这种情况下,如果你的直接依赖指定的版本范围没有覆盖新的子依赖版本,那么你就只能等待作者了。
话虽如此,应该添加到
"resolutions"
键,因为它已经为 d3-color
完成了。所以它会是这样的:
{
"name": "airflow-www",
...
"resolutions": {
"d3-color": "^3.1.0",
"glob": "10.0.0"
},
...
}