为何无法通过npm安装依赖包?执行npm i --legacy-peer-deps命令触发SSL解密失败错误
解决npm安装依赖时出现的ERR_SSL_DECRYPTION_FAILED_OR_BAD_RECORD_MAC错误
这个错误本质是SSL连接过程中解密失败或者记录MAC校验出错,通常和npm源的SSL连接稳定性、本地缓存损坏、网络环境干扰或旧版本Node/npm的兼容性问题有关。结合你的环境(Node v14.19.3,npm v8.16.0,Windows 10),可以尝试以下几种解决方案:
方案1:清除npm缓存
缓存损坏可能导致网络请求异常,先强制清除缓存再重试:
npm cache clean --force
之后重新执行安装命令:
npm i --legacy-peer-deps
方案2:切换到国内npm镜像
默认的npm官方源在国内访问可能存在SSL连接不稳定的情况,切换到国内镜像可以规避这类问题:
npm config set registry https://registry.npmmirror.com/
设置完成后再次运行安装命令。
方案3:临时禁用SSL严格校验(不推荐长期使用)
如果是本地SSL证书问题导致的校验失败,可以临时关闭严格SSL检查:
npm config set strict-ssl false
安装完成后记得改回默认设置以保证安全性:
npm config set strict-ssl true
方案4:升级Node.js和npm版本
你当前使用的Node v14和npm v8的组合可能存在已知的SSL相关bug,升级到更稳定的LTS版本(比如Node v16.x + npm v9.x)通常能解决这类兼容性问题:
- 卸载当前Node版本,从官方渠道下载对应LTS版本安装
- 安装完成后验证版本:
node -v npm -v
之后再尝试安装依赖。
方案5:检查网络环境
- 关闭正在使用的代理、VPN工具,这类工具可能干扰SSL连接
- 尝试切换网络(比如从公司内网切换到家庭网络),排除网络运营商的限制
内容的提问来源于stack exchange,提问作者Samir Tagizade
相关产品推荐
相关产品推荐

