React项目Node Sass 6.0.1与^4.0.0||^5.0.0不兼容报错如何解决
报错根因
你使用的react-scripts@4.0.3版本内置的sass-loader,仅兼容4.x、5.x版本的node-sass,与你安装的6.0.1版本不匹配,因此触发版本校验报错。
你安装4.14.1版本后问题未解决,通常是旧依赖缓存、package-lock.json/yarn.lock锁文件残留了高版本node-sass的记录,导致实际安装的版本仍然不符合要求。
解决方案
- 第一步:删除本地依赖文件和锁文件
# Mac/Linux执行 rm -rf node_modules package-lock.json yarn.lock # Windows执行 rmdir /s /q node_modules del package-lock.json yarn.lock - 第二步:修改package.json中的node-sass版本配置,将
"node-sass": "^6.0.1"替换为"node-sass": "4.14.1",去掉版本号前的^符号避免自动升级到更高版本 - 第三步:重新执行依赖安装
npm install - 若执行以上操作后仍报错,可先清理npm全局缓存后再重新安装:
npm cache clean --force
更长期稳定的替代方案:node-sass官方已经停止维护,建议替换为纯JS实现的
sass包(原dart-sass),完全兼容现有scss语法,无需适配node版本和loader版本,操作如下:
- 卸载原有node-sass:
npm uninstall node-sass- 安装sass包:
npm install sass@1.49.0- 无需修改业务代码,直接启动项目即可
内容的提问来源于stack exchange,提问作者David Jay
相关产品推荐
相关产品推荐

