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 严格校验,拉大重试窗口。

相关推荐
gwf2162 小时前
RoCEv2无损网络配置实战:PFC与ECN深度调优
网络·网络协议·tcp/ip·udp·tcpdump
王维同学2 小时前
Winsock 协议与名称空间 Provider 目录
网络·c++·windows·安全
Bobolink_3 小时前
跨境业务的网络稳定性,拆开看是三个不同的问题
网络·抖动·延迟·丢包·网络稳定性
q567315234 小时前
人工智能训练数据采集:稳定代理IP高并发方案全解析
人工智能·爬虫·网络协议·tcp/ip·代理模式·代理ip
果汁华4 小时前
Function Calling 与 Python 实战完整指南
开发语言·网络·python
Web4Browser4 小时前
指纹浏览器 API 自动化怎么接:启动 Profile、获取 CDP 端点并连接自动化框架
前端·网络·typescript·自动化
IT空门:门主6 小时前
Python 基础语法学习路线图
网络·python·学习
KaMeidebaby7 小时前
卡梅德生物技术快报 | 核酸适配体文库测序:核酸适配体文库测序的技术原理、实验流程与数据解析
前端·网络·数据库·人工智能·算法
上海云盾商务经理杨杨7 小时前
2026 生产级 Linux 内核抗 DDoS 调优!全套 sysctl 配置直接套用
网络·安全·ddos
rcms152702692188 小时前
CISCO 73-11029-01 印刷电路板
网络