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

构建生产环境Vue前端遇ERR_OSSL_EVP_UNSUPPORTED错误,求解析

解决Node.js v19.3.0下npm run build/serve出现ERR_OSSL_EVP_UNSUPPORTED错误的办法

这个错误是因为Node.js v17及以上版本默认启用了OpenSSL 3.0的新算法,而你的项目构建工具(比如webpack、vue-cli等)还未适配,以下是几种可行的解决办法:

单次临时生效

直接在执行命令前添加环境变量:

  • Windows(cmd命令行):
    set NODE_OPTIONS=--openssl-legacy-provider && npm run build
    
    启动服务则用:
    set NODE_OPTIONS=--openssl-legacy-provider && npm run serve
    
  • Windows(PowerShell):
    $env:NODE_OPTIONS="--openssl-legacy-provider"; npm run build
    
  • Linux/macOS终端:
    NODE_OPTIONS=--openssl-legacy-provider npm run build
    

项目永久生效

修改项目根目录的package.json里的scripts配置,给build和serve命令加上环境变量前缀:

"scripts": {
  // Windows环境用这个写法
  "serve": "set NODE_OPTIONS=--openssl-legacy-provider && vue-cli-service serve",
  "build": "set NODE_OPTIONS=--openssl-legacy-provider && vue-cli-service build",
  // Linux/macOS环境换成下面的写法
  // "serve": "NODE_OPTIONS=--openssl-legacy-provider vue-cli-service serve",
  // "build": "NODE_OPTIONS=--openssl-legacy-provider vue-cli-service build"
}

修改完成后,直接执行npm run build或npm run serve即可正常运行。

降级Node.js版本(可选)

如果不想修改配置,可以用nvm这类版本管理工具把Node.js降到v16.x及以下版本:

  • 安装nvm后,执行:
    nvm install 16.20.0
    nvm use 16.20.0
    

之后再执行构建或启动命令就不会出现该错误了。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.06 05:40:26