npm ERR: code ERESOLVE

在npm7+版本中,安装时默认考虑peerDependencies,可能导致版本冲突,如antdesign和sula对react版本需求不一致。--legacy-peer-deps参数用于忽略这种冲突,允许不同模块的依赖共存,它在npmv7引入,允许回退到npm6的行为。可以通过npx指定npm版本来使用此标志解决问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

问题

npm i 时,报错npm ERR: code ERESOLVE

npm 版本为8.11.0

npm版本7以上install时,默认以peerDependencies的方式去下载。

peerDependencies

这种情况是,app_A和app_B共同依赖了packageA,当使用peerDependencies方式去下载的时候会被整合成一个packageA并且只有一个版本。当出现ant design和sula所依赖的react版本的时候就会出现报错。

更具体的解释:https://www.jianshu.com/p/e8fec377eeb8

解决方法

  1. 在命令后加上 –legacy-peer-deps
  2. 使用npm6.xx

提示:使用npm@6不需要卸载npm@7。可以使用npx指定npm的版本。例如:npx -p npm@6 npm i --legacy-peer-deps

–legacy-peer-deps的作用

–legacy-peer-deps标志是在v7中引入的,目的是绕过peerDependency自动安装;它告诉 NPM 忽略项目中引入的各个modules之间的相同modules但不同版本的问题并继续安装,保证各个引入的依赖之间对自身所使用的不同版本modules共存。

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值