先说结论:卸载node-sass,使用less进行全局替换
最近翻到一个两年前做的项目,用的是node14.15.1,但是现在已经更新到16+了,导致npm install时报错,运行不了,网上查了很多方法除了降低版本外并没有其他解决办法。正当我疑惑时想到了我参与的另一个项目,14+与16+都可以正常运行,于是我觉得应该是node-sass的问题。
我删除了package.json中的node-sass与sass-loader依赖,并删除node_modules文件夹,将项目中使用到scss的地方替换为less,重新npm install,项目正常启动。
得出结论,node-sass跟node版本会出现不兼容情况,具体版本可以查看node-sass-npm,链接为:node-sass - npm

想通过降低版本解决兼容问题的可以参考
博主在遇到node14.15.1升级后与node16+版本不兼容的问题时,发现项目中的node-sass是问题所在。通过删除node-sass和sass-loader,替换scss为less,重新安装依赖后,项目成功启动。建议遇到类似问题的开发者考虑使用less替代node-sass,以避免版本不兼容的困扰。
2619

被折叠的 条评论
为什么被折叠?



