卸载node-sass遇ERESOLVE依赖树错误,求助切换至sass的解决办法
解决卸载node-sass时的ERESOLVE依赖树冲突问题
核心问题分析
你遇到的冲突本质是:当前项目依赖的React@16.14.0不满足@mui/material@5.11.13要求的React@^17.0.0 || ^18.0.0 peer依赖,卸载node-sass时npm会重新校验整个依赖树,由此触发冲突报错。
可行解决方案
方案1:升级React到兼容版本(彻底解决)
MUI v5本身不再支持React 16,升级React是从根源解决冲突的方式:
- 升级React及配套的react-dom:
若需保留React 17,可替换为npm install react@^18.0.0 react-dom@^18.0.0react@^17.0.0 react-dom@^17.0.0 - 完成升级后,执行卸载和安装命令:
npm uninstall node-sass && npm install sass
方案2:跳过全量校验单独卸载node-sass
如果暂时无法升级React,可尝试直接卸载node-sass,不触发全量依赖树校验:
npm uninstall node-sass --no-audit --no-fund --ignore-scripts
卸载完成后安装sass:
npm install sass
方案3:清理缓存后重新操作
缓存异常可能导致依赖解析出错,按以下步骤操作:
- 清理npm缓存:
npm cache clean --force - 删除本地依赖文件:
rm -rf node_modules package-lock.json - 重新安装依赖(忽略peer依赖冲突):
npm install --legacy-peer-deps - 最后执行切换命令:
npm uninstall node-sass && npm install sass
内容的提问来源于stack exchange,提问作者Drew Gallagher
相关产品推荐
相关产品推荐

