Windows10下用npm5.6.0安装模块时gyp报错(退出码1)
npm install时的node-gyp配置错误 Hey,我之前在Windows环境用老版本npm的时候也踩过这个node-gyp的坑,给你几个亲测有效的解决思路:
1. 安装Windows构建工具
node-gyp依赖Python 2.7和Visual C++构建工具,Windows上可以通过npm一键安装(需要右键终端选择「以管理员身份运行」):
npm install --global windows-build-tools
这个命令会自动安装适配的Python 2.7和必要的编译工具,装完之后重启终端再试npm install。
2. 手动指定Python路径
如果已经装了Python但node-gyp找不到,手动配置npm的Python路径:
# 若Python 2.7已在系统PATH中 npm config set python python2.7 # 或指定完整安装路径(根据你的实际位置调整) npm config set python C:\Python27\python.exe
3. 调整npm/Node版本兼容性
npm 5.6.0是和Node.js 8.10.0配套的版本,版本不匹配也容易出问题:
- 可以升级npm到更稳定的6.x版本(对Windows兼容性更好):
npm install -g npm@6 - 确认你的Node.js版本是8.x的稳定版,避免版本不兼容导致的构建错误。
4. 清理缓存后重试
有时候缓存损坏也会引发奇怪的报错,按以下步骤操作:
- 删除项目根目录下的
node_modules文件夹和package-lock.json文件 - 清理npm缓存:
npm cache clean --force - 重新执行
npm install
你遇到的报错信息如下:
gyp ERR! configure error
gyp ERR! stack Error:gypfailed with exit code: 1
gyp ERR! stack at ChildProcess.onCpExit (C:\Users\xiaooming\Desktop\app\node_modules\node-gyp\lib\configure.js:336:16)
gyp ERR! stack at emitTwo (events.js:126:13)
gyp ERR! stack at ChildProcess.emit (events.js:214:7)
gyp ERR! stack at Process.ChildProcess._handle.onexit (internal/child_process.js:198:12)
gyp ERR! System Windows_N...
内容的提问来源于stack exchange,提问作者dawn

