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

Node.js执行npm时遇SSL信任问题,求全局参数配置方法

解决Node全局启用--use-openssl-ca参数的问题

问题背景

我们为用户捆绑安装了Node和npm,公司启用SSL解密功能后,已通过.npmrc配置解决了npm的SSL信任问题,但执行npm i时仍出现Node层面的SSL错误。尝试在Windows的PowerShell/VS终端直接运行node --use-openssl-ca,仅进入Node交互界面,参数未生效,需要将该参数设为全局生效的配置。

解决方案(Windows系统)

要让Node全局加载--use-openssl-ca参数,需通过设置**环境变量NODE_OPTIONS**实现,步骤如下:

方法1:图形界面设置环境变量

  1. 按下Win + R,输入sysdm.cpl并回车,打开系统属性窗口
  2. 切换到「高级」标签页,点击「环境变量」
  3. 在「用户变量」或「系统变量」区域(按需选择,系统变量对所有用户生效),点击「新建」:
    • 变量名:NODE_OPTIONS
    • 变量值:--use-openssl-ca
  4. 依次点击「确定」保存所有设置
  5. 重启PowerShell/Visual Studio终端,使环境变量生效

方法2:PowerShell命令行设置

  • 临时生效(仅当前终端会话):
    执行命令:
    $env:NODE_OPTIONS="--use-openssl-ca"
    
  • 永久生效(用户级别):
    执行命令:
    [Environment]::SetEnvironmentVariable("NODE_OPTIONS", "--use-openssl-ca", "User")
    
  • 永久生效(系统级别,需管理员权限):
    执行命令:
    [Environment]::SetEnvironmentVariable("NODE_OPTIONS", "--use-openssl-ca", "Machine")
    
    执行后需重启终端。

验证配置是否生效

重启终端后,执行以下命令:

node --print process.env.NODE_OPTIONS

若输出--use-openssl-ca,则配置成功,此时再运行npm i即可解决Node相关SSL错误。

补充说明

直接运行node --use-openssl-ca会进入Node交互模式,因为该参数是Node运行时的全局选项,需要通过环境变量传递给所有Node进程(包括npm调用的Node进程)才能全局生效。

内容的提问来源于stack exchange,提问作者Bert Maclin

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.28 18:40:05