我现在有
"devDependencies": {
"svg-chameleon": "^0.5.2",
}在0.5.2是最新版本的地方,svg-chameleon有"svg-sprite": "^1.5.0" 作为依赖,wchin反过来又有"@xmldom/xmldom": "^0.7.5"哪个有一个我试图解决的漏洞
由于所有依赖项都是“软”的,例如"^“,所以应该可以将@xmldom/xmldom提高到至少0.7.7。这应该是固定的。
因为我不能把svg-chameleon放在它的版本的顶部,所以我想我应该使用决议
"devDependencies": {
"svg-chameleon": "^0.5.2",
},
"resolutions": {
"@xmldom/xmldom": "0.7.7"
},但是在运行yarn install (我甚至尝试过yarn upgrade @xmldom/xmldom)之后,版本仍然是相同的。
$ yarn why @xmldom/xmldom
yarn why v1.22.19
=> Found "@xmldom/xmldom@0.7.5"那我怎么才能强迫呢?这一切似乎都是可能的:这是一个补丁版本的改变,所有的包都应该是兼容的,根据它们在package.json中的定义,它们看起来还可以。然而,纱线拒绝做它所要求的事情。我是不是遗漏了什么?我做错了什么吗?
发布于 2022-11-09 08:44:47
没有显式地提到它,但是resolutions中的键值相对于您的项目。
为了让它发挥作用,我需要做的是:
"resolutions": {
"**/svg-chameleon/svg-sprite/@xmldom/xmldom": "^0.7.7"
},显然你也可以
"resolutions": {
"**/@xmldom/xmldom": "^0.7.7"
},但是,这可能会影响其他具有@xmldom/xmldom的依赖关系解决方案。所以要小心,如果有另一个需要@xmldom: "5.1"的依赖项--它可能会被错误地解决。
我还学到了一个技巧:测试分辨率不需要运行yarn install。yarn why就足够了,一旦获得了分辨率,就可以运行yarn install并提交更改。
https://stackoverflow.com/questions/74317024
复制相似问题