运行yarn webpack报错:Node Sass 6.0.1 is incompatible with ^4.0.0
问题原因
你当前使用的sass-loader@9.0.1仅支持node-sass@^4.0.0版本,与项目中安装的node-sass@6.0.1版本不匹配,因此触发编译报错。
解决方案
方案一:替换为dart-sass(最推荐)
node-sass已官方停止维护,且存在强绑定Node.js版本的问题,推荐替换为纯JavaScript实现的dart-sass(包名为sass),兼容所有现有SCSS语法,无需适配Node版本:
- 卸载原有node-sass:
yarn remove node-sass - 安装dart-sass作为替代:
yarn add sass --dev - 直接重新执行
yarn webpack即可正常编译,无需修改其他项目配置。
方案二:降级node-sass到兼容版本
如果需要继续使用node-sass,可降级到sass-loader 9.x支持的4.x版本,适配你当前使用的Node.js 16版本请选择4.14.1:
- 卸载现有node-sass:
yarn remove node-sass - 安装指定版本node-sass:
yarn add node-sass@4.14.1 --dev - 重新执行编译命令即可。
方案三:升级sass-loader到兼容版本
如果不想降级node-sass,可升级sass-loader到支持node-sass 6.x的10.x版本:
- 卸载现有sass-loader:
yarn remove sass-loader - 安装指定版本sass-loader:
yarn add sass-loader@10.1.1 --dev - 重新执行编译命令即可。
注:你使用的是Symfony Webpack Encore,以上三种方案均无需修改webpack配置文件,Encore会自动识别sass实现和版本。
内容的提问来源于stack exchange,提问作者Rayman
相关产品推荐
相关产品推荐

