为何无法执行‘npm run sass’?需安装兼容版node-sass
解决sass-loader提示“需要node-sass >=4”的构建报错
这问题我之前折腾过好几次,本质就是sass-loader和node-sass版本不兼容导致的,给你几个实用的解决思路:
方案1:升级node-sass到兼容版本
先确认你当前安装的node-sass版本:
npm list node-sass
如果输出的版本低于4.x,直接安装4.x系列的稳定版即可:
npm install node-sass@^4.14.1 --save-dev
方案2:匹配sass-loader和node-sass的版本
如果升级node-sass后还是报错,大概率是你的sass-loader版本太高,和node-sass 4.x不兼容。可以降级sass-loader到适配版本:
npm install sass-loader@^8.0.2 --save-dev
(注:sass-loader 8.x和node-sass 4.x是完美兼容的组合)
方案3:替换为dart-sass(推荐长期方案)
node-sass已经停止维护了,官方现在推荐用dart-sass替代。直接卸载node-sass安装sass:
npm uninstall node-sass && npm install sass --save-dev
大部分现代脚手架(比如vue-cli、create-react-app)都会自动识别sass,不需要额外修改配置;如果是自定义webpack配置,只需要在sass-loader的选项里指定:
{ loader: 'sass-loader', options: { implementation: require('sass') } }
额外小贴士
如果执行以上命令后还是有奇怪的问题,可以先清理缓存和依赖目录,重新安装:
rm -rf node_modules package-lock.json npm cache clean --force npm install
内容的提问来源于stack exchange,提问作者Hongjin Zhu
相关产品推荐
相关产品推荐

