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

Git Bash执行npm命令时出现ERR_SSL_CIPHER_OPERATION_FAILED错误的解决方法

解决npm执行时出现ERR_SSL_CIPHER_OPERATION_FAILED错误的思路

问题描述

每次在Git Bash中执行npm create-react-app my-app或任何npm命令时,都会抛出以下SSL相关错误:

npm ERR! code ERR_SSL_CIPHER_OPERATION_FAILED npm ERR! BC0D0000:error:1C800066:Provider routines:ossl_gcm_stream_update:cipher operation failed: c:\ws\deps\openssl\openssl\providers\implementations\ciphers\ciphercommon_gcm.c:320:npm ERR!

已尝试过重装Node.js、升级OpenSSL、重装Git Bash、放行防火墙、设置npm config set strict-ssl false、格式化系统等方案,但问题仍未解决。

可行解决思路

  • 强制npm使用系统OpenSSL而非内置版本
    Node.js自带的OpenSSL库可能与系统环境存在冲突。在Git Bash中执行以下命令临时生效:

    export NODE_OPTIONS="--openssl-legacy-provider"
    

    若要永久生效,编辑Git Bash的配置文件(如~/.bashrc或~/.bash_profile),添加上述命令后重启Git Bash。

  • 切换npm镜像源至国内镜像
    官方源的网络问题可能导致SSL握手失败,切换到国内镜像并清空缓存:

    npm config set registry https://registry.npmmirror.com/
    npm cache clean --force
    
  • 调整Git Bash的环境变量优先级
    执行echo $PATH查看环境变量顺序,确保系统OpenSSL的安装路径(如C:\OpenSSL-win64\bin)优先级高于Node.js的路径。若顺序颠倒,手动修改PATH调整优先级。

  • 临时禁用Windows Defender实时保护测试
    杀毒软件或Windows Defender的实时扫描可能干扰SSL加密操作,临时关闭后再执行npm命令。若恢复正常,将npm和Node.js的安装目录添加到Defender的排除列表。

  • 改用原生Windows终端执行命令
    在PowerShell或CMD中尝试执行npm命令,若能正常运行,说明问题出在Git Bash的环境配置上,可尝试重新配置Git Bash或替换为MinGW。

  • 更换兼容的Node.js LTS版本
    避免使用过新或过旧的Node.js版本,选择LTS版本重新安装,安装时确保勾选“Add to PATH”选项,且安装路径不含中文或特殊字符。

内容的提问来源于stack exchange,提问作者Hussain AlAdraj

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.26 06:13:25