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

使用Node 18/NPM 8执行npm i时提示tarball数据损坏是什么原因?

问题根因

  1. 你当前使用的是Node 18的开发预览版本(v18.0.0-pre),该版本内置的zlib模块存在已知的兼容性缺陷,解压校验逻辑比Node 17严格很多,大量旧版本npm包的标准压缩文件会被误判为损坏。
  2. 即使是Node 18正式版,也升级了内置zlib版本并默认开启严格校验规则,低于v8.6.0版本的npm没有适配该规则,同样会触发zlib解压校验失败的报错。

解决方案

按照优先级依次尝试以下操作即可:

  • 替换开发预览版为Node 18正式稳定版,优先选择长期支持版本。如果使用nvm管理Node版本,可执行nvm install 18 --lts安装,安装完成后会自动匹配适配的npm版本,再重新执行npm i即可。
  • 若暂时不能更换Node版本,先将npm升级到适配Node 18的最新版本:执行npm install -g npm@latest,升级完成后再尝试安装依赖。
  • 若上述操作仍未解决,安装依赖时临时关闭zlib严格校验:执行export NODE_ZLIB_NO_STRICT=1 && npm i即可绕过校验规则完成安装。
  • 若仍然报错,可切换为npm官方源避免第三方镜像缓存的压缩包格式异常:执行npm config set registry https://registry.npmjs.org/后再执行安装命令。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.25 18:54:03