npm ERR: code ERESOLVE
问题
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
解决方法
- 在命令后加上 –legacy-peer-deps
- 使用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共存。