使用哪个NPM CLI命令可以更新依赖包的间接子依赖?
解决方案
方法1:使用overrides字段(推荐,npm v8.3.0及以上版本支持)
这是npm官方提供的强制覆盖嵌套依赖版本的方案,操作步骤如下:
- 打开项目根目录的
package.json文件,新增overrides配置项,指定要强制统一的immer版本:
{ "overrides": { "immer": "^9.0.6" // 可指定任意无安全漏洞的稳定版本,直接用项目已存在的9.0.6版本可降低兼容风险 } }
- 执行npm CLI命令完成更新:
npm install - 验证更新结果:
npm ls immer
执行后可看到两处嵌套依赖的immer均已升级为指定版本。
方法2:使用npm-force-resolutions工具(npm v8.3.0以下版本适用)
如果你的npm版本低于8.3.0,不支持overrides特性,可通过第三方工具实现版本强制覆盖:
- 打开项目根目录的
package.json文件,新增resolutions配置项:
{ "resolutions": { "immer": "^9.0.6" } }
- 执行以下npm CLI命令完成更新:
npx npm-force-resolutions && npm install - 执行
npm ls immer验证版本即可。
注意:上述两种方案均为强制覆盖父依赖的版本约束,建议更新后先跑一遍项目测试用例,确认react-scripts相关功能无兼容问题。
内容的提问来源于stack exchange,提问作者Wronski
相关产品推荐
相关产品推荐

