如何解决npm install报错?应升级node-sass还是Python存在问题?
问题原因
从你提供的报错截图可以确认,安装失败是node-sass版本和本地Node.js版本不兼容导致的:你项目中依赖的node-sass@4.14.1仅支持Node.js v14及更低版本,若你本地安装的Node.js是v16及以上版本,就会出现二进制包编译失败的报错。
另外node-sass官方早已停止维护,不会对后续新发布的Node.js版本做适配,长期来看替换为兼容性更好的dart-sass是更优选择。
解决方案
- 方案一:不修改项目依赖,降级Node.js版本
- 安装Node版本管理工具nvm(Windows系统可安装nvm-windows),方便多版本Node切换
- 通过nvm安装Node.js 14.x版本:
nvm install 14.21.3,切换到该版本:nvm use 14.21.3 - 删除项目根目录下的
node_modules文件夹和package-lock.json文件 - 执行
npm install重新安装依赖即可
- 方案二:替换node-sass为官方推荐的
sass(dart-sass),无需降级Node版本,适配所有主流Node版本- 执行命令卸载原有node-sass:
npm uninstall node-sass - 安装兼容react-scripts 3.x版本的sass:
npm install sass@1.32.13 --save - 删除项目根目录下的
node_modules文件夹和package-lock.json文件 - 执行
npm install重新安装依赖即可,原有sass/scss代码无需做任何修改,dart-sass完全向下兼容node-sass的语法
- 执行命令卸载原有node-sass:
异常排查
如果执行安装后仍然报错,可按以下步骤操作:
- 清除npm本地缓存:
npm cache clean --force - 检查是否使用了cnpm等第三方包管理工具,建议切换为npm配置国内源,或使用yarn进行安装,避免二进制包拉取异常
内容的提问来源于stack exchange,提问作者Kid
相关产品推荐
相关产品推荐

