error:0308010C:digital envelope routines::unsupported

时间:2021-03-01 01:28:19

vue
问题发现

项目 在 终端输入 npm run dev 命令,项目运行报错
错误详情
error:0308010C:digital envelope routines::unsupported
问题原因

vue 版本过高导致 先按照
error:0308010C:digital envelope routines::unsupported
因为 Node.js 版本是 17 以上所以会运行失败, Node.js 17 版本中最近发布的 OpenSSL3.0, 而OpenSSL3.0 对允许算法和密钥大小增加了严格的限制,可能会对生态系统造成一些影响.

解决办法

办法一:配置 node 选项–openssl-legacy-provider

windos 环境

set NODE_OPTIONS=--openssl-legacy-provider

linux 环境

export NODE_OPTIONS=--openssl-legacy-provider

修改项目中的 package.json 文件
添加

"serve": "set NODE_OPTIONS=\"--openssl-legacy-provider\" & npm run dev\n"

error:0308010C:digital envelope routines::unsupported
然后运行 npm run seve

方法二:
降级 nodejs 版本到 16.x 以及以下版本
重新安装 nodejs