新建Laravel项目搭建Vue脚手架执行npm run dev报SassError如何解决
报错原因
SassError: 0.25rem and 0 are incompatible.
$return: append($return, max($value, 0));
该报错由 Sass 1.70.0及以上版本和旧版Bootstrap的Sass代码不兼容 导致:
- Sass 1.70.0版本开始收紧了
max()/min()函数的单位校验规则,要求参与比较的所有值单位必须匹配,无单位的0不能和带单位的值(如0.25rem)直接比较 laravel/ui生成的默认前端依赖中,自带的Bootstrap版本(多为v5.2.x)的Sass工具函数存在多处max($带单位变量, 0)的写法,不符合新版Sass的校验规则,编译时就会触发报错
解决方案
方案1:降级Sass到兼容版本(推荐,修改量最小)
直接固定Sass版本到1.69.5即可,操作步骤如下:
- 卸载当前版本的Sass
npm uninstall sass - 安装指定兼容版本的Sass
npm install sass@1.69.5 --save-dev - 重新执行编译命令即可正常运行
npm run dev
方案2:升级Bootstrap到兼容版本
如果需要使用高版本Sass,可以将Bootstrap升级到v5.3.2及以上版本,该版本已经修复了和新版Sass的兼容问题,执行命令:npm install bootstrap@latest --save
升级完成后重新执行npm run dev即可。
内容的提问来源于stack exchange,提问作者Maitrik Thakkar
相关产品推荐
相关产品推荐

