首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何迫使纱线经典解决不同的“深”依赖

如何迫使纱线经典解决不同的“深”依赖
EN

Stack Overflow用户
提问于 2022-11-04 12:23:46
回答 1查看 31关注 0票数 0

我现在有

代码语言:javascript
复制
    "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放在它的版本的顶部,所以我想我应该使用决议

代码语言:javascript
复制
    "devDependencies": {
        "svg-chameleon": "^0.5.2",
    },
    "resolutions": {
        "@xmldom/xmldom": "0.7.7"
    },

但是在运行yarn install (我甚至尝试过yarn upgrade @xmldom/xmldom)之后,版本仍然是相同的。

代码语言:javascript
复制
$ yarn why @xmldom/xmldom
yarn why v1.22.19
=> Found "@xmldom/xmldom@0.7.5"

那我怎么才能强迫呢?这一切似乎都是可能的:这是一个补丁版本的改变,所有的包都应该是兼容的,根据它们在package.json中的定义,它们看起来还可以。然而,纱线拒绝做它所要求的事情。我是不是遗漏了什么?我做错了什么吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-11-09 08:44:47

没有显式地提到它,但是resolutions中的键值相对于您的项目。

为了让它发挥作用,我需要做的是:

代码语言:javascript
复制
    "resolutions": {
        "**/svg-chameleon/svg-sprite/@xmldom/xmldom": "^0.7.7"
    },

显然你也可以

代码语言:javascript
复制
    "resolutions": {
        "**/@xmldom/xmldom": "^0.7.7"
    },

但是,这可能会影响其他具有@xmldom/xmldom的依赖关系解决方案。所以要小心,如果有另一个需要@xmldom: "5.1"的依赖项--它可能会被错误地解决。

我还学到了一个技巧:测试分辨率不需要运行yarn installyarn why就足够了,一旦获得了分辨率,就可以运行yarn install并提交更改。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/74317024

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档