React+TypeScript项目安装Material UI遇ERESOLVE依赖冲突问题
解决React18 + TypeScript项目中MUI依赖冲突问题
问题根源
@mui/core@5.0.0-alpha.54是MUI早期的测试版本,早已被正式版@mui/material替代,且它的peer依赖限制在React 16/17版本,和你当前使用的React 18不兼容,这就是ERESOLVE依赖解析错误的核心原因。
解决步骤
1. 彻底清理旧依赖
不要仅卸载@mui/core,需彻底清理相关残留,避免锁文件干扰:
npm uninstall @mui/core rm -rf node_modules package-lock.json npm install
2. 安装兼容React18的MUI正式包
直接安装官方推荐的稳定版依赖,这些版本完全支持React18:
npm install @mui/material @emotion/react @emotion/styled
(若需要图标组件,可追加@mui/icons-material)
3. 验证依赖状态
安装完成后,检查package.json,确保:
- 无残留的
@mui/core相关依赖 react、@types/react版本保持为18.x
4. 修复TypeScript类型一致性(可选)
若出现类型报错,确保@types/react和@types/react-dom版本匹配:
npm install @types/react@18.2.0 @types/react-dom@18.2.0 --save-dev
关键提示
- 正式项目中禁止使用
@mui/core这类alpha测试包,MUI的核心正式包是@mui/material - 若之前代码中有引用
@mui/core的组件,需全部替换为@mui/material下的对应组件,比如@mui/core/Button替换为@mui/material/Button
内容的提问来源于stack exchange,提问作者Travis
相关产品推荐
相关产品推荐

