升级Angular 6后执行ng serve -o报错:sass-loader要求node-sass >=4
嘿,我之前升级Angular 6的时候也碰到过这个一模一样的问题!这个报错核心就是你的项目里node-sass版本低于sass-loader要求的v4版本,咱们一步步来修复:
1. 先确认当前node-sass的版本
先打开终端,跑个命令看看你现在装的版本是不是真的不够:
npm list node-sass
要是用yarn的话就换成:
yarn list node-sass
2. 安装兼容的node-sass版本
如果版本确实低于v4,直接装个符合要求的稳定版就行。针对Angular 6,我推荐装node-sass@^4.14.1,这个版本和Angular 6的cli兼容性很好:
npm install node-sass@^4.14.1 --save-dev
用yarn的话就执行:
yarn add node-sass@^4.14.1 --dev
3. 解决可能的依赖冲突问题
要是安装的时候弹出依赖冲突的提示,别慌,先把旧版本卸掉再重新装:
npm uninstall node-sass --save-dev npm install node-sass@^4.14.1 --save-dev
要是还不行,试试清一下npm缓存再安装:
npm cache clean --force npm install node-sass@^4.14.1 --save-dev
4. 验证修复效果
装完之后再跑ng serve -o,应该就能正常编译你的scss文件,不会再报这个错啦!
另外提醒一句:Angular 6对应的@angular/cli版本和node-sass v4.x系列适配最好,别随便升级到v5及以上版本,不然可能会出现其他奇怪的兼容问题。
内容的提问来源于stack exchange,提问作者Bartosz Kowalczyk
相关产品推荐
相关产品推荐

