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

相关推荐
春风解人意5 小时前
从零开始学习嵌入式P32----网络基础之TCP
c语言·网络·学习·tcp/ip
云絮.6 小时前
网络原理---- 网络层,数据链路层,应用层
网络
Johny_Zhao7 小时前
网络安全等级保护测评实施方案
linux·网络·人工智能·网络安全·信息安全·云计算·等保测评·系统运维·itsm
虹科网络安全9 小时前
使用艾体宝 IOTA 10 CORE+ 监控企业网络中的 AI 流量
网络·人工智能
醉颜凉9 小时前
网络安全必学:粘性MAC地址(Sticky MAC)原理与应用全解析
运维·服务器·网络·安全·web安全
广州灵眸科技有限公司10 小时前
从手动三步到上电即连:4G模组systemd开机自连方案
linux·运维·服务器·开发语言·网络·人工智能·php
埃科光电10 小时前
16K万兆网口彩色线阵相机:四倍带宽 高速真彩检测新方案
网络·图像处理·数码相机·计算机视觉·制造·相机
运维全栈笔记12 小时前
Windows 安装 WSL2 并运行 Ubuntu 24.04 指南
linux·网络·windows·ubuntu
qq_4523962312 小时前
第十篇:《eBPF 可观测性:零侵扰的深度内核追踪》
服务器·网络·php
迪康Defender12 小时前
政企内网终端安全建设:资产‑管控‑防护‑审计闭环能力拆解
运维·网络·安全·web安全·终端安全管理