You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何修改系统设置解决npm ci执行时的node-gyp报错?

修复npm ci执行时erlpack编译失败的问题

问题根源

日志核心错误是z_size_t未定义,本质原因有三点:

  1. 旧版erlpack未适配Node.js 18的zlib头文件变动
  2. VS2017 Build Tools的C++编译器对新语法支持不足
  3. Python 3.11与node-gyp@9.3.1存在兼容性问题

修复步骤

按优先级从易到难尝试:

1. 替换为维护版erlpack

原erlpack已停止维护,无法兼容Node.js 18,直接改用社区维护分支:

  • 编辑项目package.json,将"erlpack"替换为:
    "@discordjs/erlpack": "^0.1.0"
    
  • 删除旧依赖缓存:
    rm -rf node_modules
    del package-lock.json
    
  • 重新执行安装:
    npm ci
    

2. 降级Node.js到16.x LTS

Node.js 18的zlib头文件有破坏性更新,旧版依赖未适配,用nvm降级:

  • 安装nvm后运行:
    nvm install 16.20.2
    nvm use 16.20.2
    
  • 清理缓存后重新安装:
    rm -rf node_modules
    del package-lock.json
    npm cache clean --force
    npm ci
    

3. 切换Python版本到3.10/3.9

node-gyp@9.3.1对Python 3.11支持不完善:

  • 卸载Python 3.11,安装Python 3.10
  • 配置npm指向新Python路径:
    npm config set python "C:\Users\maddi\AppData\Local\Programs\Python\Python310\python.exe"
    
  • 重新执行npm ci

4. 更新VS Build Tools到2022

VS2017的C++编译器无法处理Node.js 18头文件的新语法:

  • 卸载VS2017 Build Tools
  • 下载安装VS2022 Build Tools,安装时勾选C++构建工具组件(包含MSVC编译器、Windows SDK)
  • 重启电脑后重新执行npm ci

内容的提问来源于stack exchange,提问作者Maddie Bennet

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.28 23:43:11