You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Node.js 18搭配NPM8安装包时遭遇SSL不安全旧版协商禁用错误

解决Node.js 18 + NPM 8安装包时的SSL unsafe legacy renegotiation错误

问题原因

Node.js 18内置的OpenSSL版本默认禁用了不安全的旧版TLS重协商机制,而你使用的私有Artifactory仓库(artifactory.thy.com)可能采用了不支持现代重协商的旧SSL配置,导致npm请求时触发SSL握手失败。

解决方案

方法1:临时启用旧版OpenSSL提供者(快速测试)

在执行npm安装前,先设置环境变量:

  • Windows命令提示符(cmd):
    set NODE_OPTIONS=--openssl-legacy-provider
    npm install @angular/cli
    
  • Windows PowerShell:
    $env:NODE_OPTIONS="--openssl-legacy-provider"
    npm install @angular/cli
    

方法2:永久配置环境变量(长期生效)

  1. 右键「此电脑」→ 属性 → 高级系统设置 → 环境变量
  2. 在「系统变量」区域点击「新建」,输入:
    • 变量名:NODE_OPTIONS
    • 变量值:--openssl-legacy-provider
  3. 重启所有打开的命令行窗口,之后执行npm安装无需再手动设置。

方法3:针对私有仓库调整NPM配置(更安全的局部设置)

如果不想全局启用旧版提供者,可单独给目标仓库配置:

  1. 先设置私有仓库地址(以@angular包为例):
    npm config set @angular:registry https://artifactory.thy.com/artifactory/api/npm/kac-npm/
    
  2. 临时禁用该仓库的严格SSL校验(仅在信任此私有仓库时使用):
    npm config set strict-ssl false
    

    注:若企业环境要求高安全性,建议将仓库的SSL证书导入系统信任存储,具体步骤需联系运维获取证书并完成系统信任配置。

验证

执行你的npm安装命令,确认错误信息消失,包正常下载安装。

内容的提问来源于stack exchange,提问作者Nurullah YILMAZ

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.20 00:30:57