pnpm install报错ERR_SSL_PACKET_LENGTH_TOO_LONG问题解决

报错内容

bash 复制代码
[WARN] GET https://registry.npmmirror.com/stack-trace/-/stack-trace-0.0.9.tgz error (ERR_SSL_PACKET_LENGTH_TOO_LONG). Will retry in 1 minute. 1 retries left.

根本原因

{ssh-host}到 registry.npmmirror.com(国内 npm 镜像)的网络连接不稳定,HTTPS 请求经常收到异常的 SSL 数据包,导致 ERR_SSL_PACKET_LENGTH_TOO_LONG 错误。

解决步骤

1. 切换到 npm 官方源

测试发现 registry.npmjs.org 在远端机器上可以正常访问:

bash 复制代码
curl -sI https://registry.npmjs.org/vis-data
# 返回 HTTP/2 200,正常

而 npmmirror 虽然 API 能访问,但 tarball 下载频繁超时和 SSL 异常。

2. 关闭 strict-ssl

Node.js 24 的 TLS 行为与 npmmirror 的 CDN 存在兼容性问题(ERR_SSL_PACKET_LENGTH_TOO_LONG),通过关闭严格 SSL 校验绕过:

复制代码
strict-ssl=false

3. 增大重试参数

因为网络本身慢(20-40 KiB/s),增大超时和重试次数避免误杀:

复制代码
fetch-retries=5
fetch-retry-maxtimeout=120000
fetch-retry-mintimeout=10000

4. 最终配置(.npmrc)

在仓库根目录创建了 .npmrc:

复制代码
registry=https://registry.npmjs.org/
strict-ssl=false
fetch-retries=5
fetch-retry-maxtimeout=120000
fetch-retry-mintimeout=10000

5. 执行安装

bash 复制代码
pnpm install --no-verify-store --no-frozen-lockfile

--no-frozen-lockfile 让它用 npmjs.org 重新解析依赖地址,--no-verify-store 跳过 store 完整性校验避免额外的网络开销。


一句话总结

从不通的 npmmirror 切换到通的 npmjs.org,关掉 SSL 严格校验,拉大重试窗口。

相关推荐
圆圆讲门店15 小时前
挑选同城获客服务机构时需要考量的核心因素都有哪些?
大数据·网络·人工智能·python
制造业的搬运工16 小时前
扫地机器人主板 PCB 选型:深圳线路板与普通板的 8 项工艺指标对比与参数清单
网络·科技·制造·科普·pcb工艺
发光小北16 小时前
五口百兆pn优先交换机现场应用能遇到哪些问题?
网络协议
XiaoMaqqqq18 小时前
目前知名的IP驱动产业新场景新工具有哪些
网络·python·网络协议·tcp/ip
李永奉18 小时前
中科蓝讯SDK开发-BT897X、BT891X、AB573X、AB572X 系列 触摸按键提示音功能实现
网络·单片机·嵌入式硬件·mcu·物联网
ShineWinsu18 小时前
对于ProtoBuffer:ProtoBuffer的介绍以及安装
linux·网络·google·协议·序列化·反序列化·protobuffer
Eddyp19 小时前
避开溢价!艾默生 TREX2 手操器省钱选型攻略
网络·其他·百度·微信·微信公众平台·新浪微博
FlightYe19 小时前
视界原理之2D视频(二):视频文件里有什么
android·linux·网络·c++·ffmpeg·音视频·aac
2601_9672127220 小时前
国际品质电源轨道系统供应商技术评估维度
大数据·网络·经验分享
acrel721 小时前
化工企业能源管理体系下智能化技术实践与探索
网络·人工智能