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

切换至Node.js v18后出现OpenSSL初始化错误求助

解决Node.js v18下的ERR_OSSL_EVP_UNSUPPORTED错误

这个错误是因为Node.js v18默认启用了OpenSSL 3.0的严格算法规则,而项目中部分依赖仍在使用已被弃用的旧版SSL加密算法导致的,以下是几种可行的解决方法:

方法一:临时启用旧版SSL算法(开发环境适用)

在启动项目的命令前添加环境变量,强制Node.js使用旧版SSL提供程序:

  • Linux/macOS终端:
    NODE_OPTIONS=--openssl-legacy-provider npm start
    
  • Windows命令提示符(cmd):
    set NODE_OPTIONS=--openssl-legacy-provider && npm start
    
  • Windows PowerShell:
    $env:NODE_OPTIONS="--openssl-legacy-provider"; npm start
    

方法二:修改package.json启动脚本(持久化配置)

直接在项目的package.json的scripts字段中添加环境变量,避免每次手动输入:

单平台配置

比如Create React App项目:

"scripts": {
  "start": "NODE_OPTIONS=--openssl-legacy-provider react-scripts start",
  "build": "NODE_OPTIONS=--openssl-legacy-provider react-scripts build"
}

跨平台兼容(推荐)

如果需要在多系统下运行,可使用cross-env包统一环境变量:

  1. 安装依赖:
    npm install cross-env --save-dev
    
  2. 修改脚本:
    "scripts": {
      "start": "cross-env NODE_OPTIONS=--openssl-legacy-provider react-scripts start",
      "build": "cross-env NODE_OPTIONS=--openssl-legacy-provider react-scripts build"
    }
    

方法三:升级项目依赖(生产环境推荐)

从根源解决问题,升级项目中未适配Node.js v18的依赖包:

  • 若使用webpack,更新到最新兼容版本:
    npm update webpack
    
  • 若为Create React App项目,升级react-scripts:
    npm install react-scripts@latest
    

内容的提问来源于stack exchange,提问作者John Driscoll

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.09 07:40:33