【已解决】若依前端报错:Node: opensslErrorStack: [ ‘error:03000086:digital envelope routines::initialization error‘ ]异常处理
opensslErrorStack error:03000086是OpenSSL初始化错误,多因NODE_OPTIONS环境变量中设置了--openssl-legacy-provider,而该选项在Node.js 14及以上版本已被禁止。三种解决方案:一是从系统环境变量NODE_OPTIONS中删除该选项;二是在package.json的dev脚本中写入SET NODE_OPTIONS=--openssl-legacy-provider再接vue-cli-service serve;三是用nvm降级到Node 12等旧版本。
- 报错根源:--openssl-legacy-provider选项在Node.js 14.x及以上已被禁止使用
- 方案一:在系统环境变量中删除NODE_OPTIONS里的--openssl-legacy-provider
- 方案二:在package.json的dev脚本中设置SET NODE_OPTIONS=--openssl-legacy-provider
- 方案三:用nvm安装并切换旧版本,如nvm install 12.22.1后nvm use
- OpenSSL是Node.js处理加密解密的开源库,npm run dev启动本地服务器时会调用
今天在启动若依前端的时候报错:

在进行前端项目开发时,我们经常会使用 npm run dev 命令来启动本地服务器。然而,有时候我们会遇到一个让人头疼的问题,就是在执行这个命令时会出现 opensslErrorStack: [ ‘error:03000086:digital envelope routines::initialization error‘ ] 的错误。
一、问题描述
什么是 OpenSSL?
OpenSSL 是一个开源的加密库,它实现了 SSL 和 TLS 协议。它包括一个加密算法库和一个 SSL/TLS 协议库,可以用于在网络上进行安全通信。
在 Node.js 中,OpenSSL 被用来处理加密和解密、签名和验证等操作。在执行 npm run dev 命令时,Node.js 会使用 OpenSSL 来启动本地服务器。
为什么会出现 opensslErrorStack 错误?
在执行 npm run dev 命令时,如果 OpenSSL 配置不正确,就会出现 opensslErrorStack: [ ‘error:03000086:digital envelope routines::initialization error‘ ] 的错误。这个错误通常是由于在 NODE_OPTIONS 环境变量中设置了 --openssl-legacy-provider 选项引起的。
–openssl-legacy-provider 选项是用来启用 OpenSSL 1.0.x 的兼容模式的。然而,在 Node.js 14.x 及以上版本中,这个选项已被禁止使用。因此,如果你
原创不易,完成人机校验,阅读全文
常见问题
为什么高版本Node启动Vue项目会报OpenSSL错误?
Node 14以上禁用了启用OpenSSL 1.0.x兼容模式的--openssl-legacy-provider选项。若NODE_OPTIONS中仍设置了它,执行npm run dev时就会抛出error:03000086初始化错误。
降级Node版本会影响项目吗?
可能有影响,需提前备份项目并充分测试。推荐用nvm管理多版本:nvm install安装所需旧版本,nvm use随时切换,node -v验证当前版本。