Windows10下Node16执行npm install出现gyp相关错误如何解决
根本原因
- 项目依赖的
node-sass版本过旧,内置的node-gyp@3.8.0仅支持Python 2.x,你本地安装的Python 3.9语法和老版本node-gyp的调用逻辑不兼容 - 旧版
node-sass与Node 16版本存在适配问题,node-sass对Node版本匹配要求非常严格,二者版本不对应会触发编译失败
解决方案
方案1:替换node-sass为dart-sass(最推荐)
node-sass官方已停止维护,dart-sass是官方推荐的替代实现,没有原生编译依赖,完全兼容原有sass语法:
- 卸载原有node-sass依赖:
npm uninstall node-sass - 安装dart-sass:
npm install sass --save-dev - 重新执行
npm install即可完成全部依赖安装,无需修改项目中的sass调用代码。
方案2:适配node-sass与运行环境版本(适合必须保留node-sass的老项目)
Node 16对应的最低兼容node-sass版本为v6.0+,直接指定版本安装:npm install node-sass@6.0.1 --save-dev
如果仍有gyp报错,全局配置node-gyp的Python路径后重新安装:
npm config set python C:\Users\fiberx\AppData\Local\Programs\Python\Python39\python.EXE npm cache clean --force rd /s /q node_modules del package-lock.json npm install
方案3:安装Windows编译依赖
上述方案都不生效时,以管理员权限打开PowerShell,执行命令安装老版本node-gyp所需的编译环境:npm install --global windows-build-tools
安装完成后再重新执行依赖安装即可。
内容的提问来源于stack exchange,提问作者Fiber X01
相关产品推荐
相关产品推荐

