若依(RUOYI)

【已解决】若依前端报错:Node: opensslErrorStack: [ ‘error:03000086:digital envelope routines::initialization error‘ ]异常处理

今天在启动若依前端的时候报错:在进行前端项目开发时,我们经常会使用npmrundev命令来启动本地服务器。然而,有时候我们会遇到一个让人头疼的问题,就是在执行这个命令时会出现opensslErrorStack:[‘error:03000086:digitalenveloperoutines::initializationerror‘]的错误。一、问题描述什么是OpenSSL?OpenSSL是一个开

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启动本地服务器时会调用

今天在启动若依前端的时候报错:

7de12c8072b8d881462be2d260068e55.png

在进行前端项目开发时,我们经常会使用 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验证当前版本。

相关推荐