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

Vue项目执行npm run serve/build时出现openssl初始化错误求助

Vue项目执行npm run serve/build时出现ERR_OSSL_EVP_UNSUPPORTED错误的解决方案

错误原因

Node.js v18.x及以上版本默认启用OpenSSL 3.0的严格算法规则,旧版本Vue CLI(4.x及以下)依赖的webpack使用了已被弃用的MD4算法,触发SSL初始化错误。

解决方案

1. 临时单次运行(无需修改配置)

根据操作系统选择对应命令:

  • Windows(cmd):
    set NODE_OPTIONS=--openssl-legacy-provider && npm run serve
    
    或
    set NODE_OPTIONS=--openssl-legacy-provider && npm run build
    
  • Windows(PowerShell):
    $env:NODE_OPTIONS="--openssl-legacy-provider"; npm run serve
    
  • Linux/macOS:
    NODE_OPTIONS=--openssl-legacy-provider npm run serve
    
    或
    NODE_OPTIONS=--openssl-legacy-provider npm run build
    

2. 修改package.json脚本(永久生效)

直接修改项目根目录下package.json的scripts字段,给serve/build命令添加环境变量:

  • 跨平台写法(先安装npm i cross-env -D):
    "scripts": {
      "serve": "cross-env NODE_OPTIONS=--openssl-legacy-provider vue-cli-service serve",
      "build": "cross-env NODE_OPTIONS=--openssl-legacy-provider vue-cli-service build"
    }
    
  • Windows原生写法:
    "scripts": {
      "serve": "set NODE_OPTIONS=--openssl-legacy-provider && vue-cli-service serve",
      "build": "set NODE_OPTIONS=--openssl-legacy-provider && vue-cli-service build"
    }
    

3. 升级依赖(长期根治方案)

升级Vue CLI或webpack到适配Node.js 18+的版本:

  • 升级Vue CLI服务:
    npm update @vue/cli-service -D
    
  • 直接升级webpack:
    npm update webpack -D
    

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.14 04:30:48