如何通过Yarn覆盖项目中依赖X的子依赖Y为依赖Z?
问题解答
完全可以通过修改package.json里的resolutions字段实现这个需求,你的思路是对的,但配置写法可以更精准,具体如下:
若要全局替换所有依赖树中的Y为Z,可使用你设想的基础写法(建议加上Z的具体版本号避免歧义):
"resolutions": { "subdependencyY": "dependencyZ@指定版本号" }若只想让依赖X单独用Z替代它的子依赖Y(不影响其他依赖对Y的使用),可以精准指定依赖路径:
"resolutions": { "X/subdependencyY": "dependencyZ@指定版本号" }
配置完成后,执行以下步骤生效:
- 删除项目根目录的
node_modules文件夹 - 重新运行
yarn install,Yarn会按照配置的规则替换依赖
这样就能解决「Module not found: Can't resolve subdependency Y」的报错,让依赖X使用Z来替代原本的子依赖Y。
内容的提问来源于stack exchange,提问作者William Jensen
相关产品推荐
相关产品推荐

