某些时候,比如子依赖存在紧急 bug,但主依赖已经多年未更新,我们需要升级直接依赖的子依赖。
通过 package.json 的 overrides 字段,可以锁定子依赖版本。
文档: https://docs.npmjs.com/cli/v8/configuring-npm/package-json#overrides
锁定所有包的子依赖 foo :
{
"overrides": {
"foo": "1.0.0"
}
}
但以上不太现实,因为某个包可能被多个主依赖调用,大版本不一致,无法兼容。
可以指定具体的 bar 包,锁定子依赖 foo :
{
"overrides": {
"bar": {
"foo": "1.0.0"
}
}
}