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

相关推荐
电梯界知识分子29 分钟前
江西赣州赣县三层设计师自建房:1700mm中空极限利用,全观光铝合金电梯的精度与防震处理
大数据·服务器·网络·人工智能·家用电梯
裕晟资质规划20 小时前
三类资质变更报告时限差在哪?军工 15 日、集成印制 10 日
大数据·服务器·网络
轻舟技术A20 小时前
Provider 不属于 Agent 核心:rpi 的分层理由与收益
服务器·网络
Escalating_xu21 小时前
【Linux 网络编程】TCP Socket 编程(上):从 listen、accept 到完整回显通信
linux·网络·tcp/ip
NetX行者21 小时前
Python 工程化入门:从脚本到规范的 Python 项目结构
网络·python
Yang961121 小时前
从相位噪声到实时带宽:HD-063B支撑的频谱实验项目
网络
happyprince21 小时前
01-整体观-DeepSeek-V4.1-Flash全貌解读
网络
是真的小外套21 小时前
2023年软考中级信息安全工程师|选择题考点+5道案例分析真题解析(含答案)
java·服务器·网络
一条泥憨鱼1 天前
【计算机网络】| 从 MAC 到 NAT 的跨网段通信全链路
服务器·网络·学习·计算机网络·macos
Moyu_Friday1 天前
网络安全基础-计算机网络应用与协议
网络协议·计算机网络