Angular 13适配Node.js 16.17.0失败,执行npm install遇node-gyp/node-sass错误
Node.js 16升级后npm install遇node-gyp/node-sass错误的解决办法
核心问题是node-sass版本与Node.js 16.17.0不兼容——node-sass对Node.js版本有严格匹配要求,Node.js 16对应的node-sass最低版本为6.0.0,你之前在Node.js 14使用的node-sass版本大概率不支持Node 16,导致编译时触发node-gyp错误。
以下是具体解决步骤:
卸载旧版node-sass:
npm uninstall node-sass安装适配Node.js 16的node-sass版本:
npm install node-sass@^6.0.0 --save-dev同步更新sass-loader(如果项目依赖):
sass-loader 10.x版本与node-sass 6.x兼容,执行:npm install sass-loader@^10.0.0 --save-dev若仍存在node-gyp编译错误,补充安装编译环境:
- Windows系统:全局安装编译工具
npm install --global windows-build-tools - Mac系统:安装Xcode命令行工具
xcode-select --install - Linux(Ubuntu/Debian):安装基础编译依赖
sudo apt-get install build-essential
- Windows系统:全局安装编译工具
更省心的替代方案
直接替换为官方推荐的dart-sass(无需关注Node版本兼容,维护更活跃):
npm uninstall node-sass && npm install sass --save-dev
Angular项目无需修改任何代码,会自动切换使用dart-sass编译。
内容的提问来源于stack exchange,提问作者Vinay Somawat
相关产品推荐
相关产品推荐

