Error: error:0308010C:digital envelope routines::unsupported
在这里插入图片描述

方案1:通过设置环境变量来解决(适用于Linux & macOS)

最直接的解决方法是通过设置Node.js的环境变量,使其使用OpenSSL的“遗留提供者”模式(即兼容旧版算法)。在Linux和macOS操作系统中,您可以通过以下步骤来解决问题:

打开IDE的终端窗口。
输入以下命令:

export NODE_OPTIONS=--openssl-legacy-provider

此命令会设置Node.js的环境变量,将加密提供者切换为OpenSSL的遗留模式,从而恢复对旧版加密算法的支持。执行完此命令后,重新启动IDE项目,错误应该消失。

方案2:通过设置环境变量来解决(适用于Windows)

如果您在Windows操作系统中使用IDE,解决方法类似,但命令有所不同。请按照以下步骤操作:

打开IDE的终端窗口。
在命令行中输入以下命令:

$env:NODE_OPTIONS="--openssl-legacy-provider"

该命令与Linux和macOS中的命令类似,作用是让Node.js使用遗留的OpenSSL提供者,允许继续使用旧版加密算法。完成此操作后,重新启动IDE,应该能解决该错误。

方案3:降级Node.js版本

如果您的项目不需要Node.js 17或更高版本的特性,并且您希望避开OpenSSL 3.0带来的兼容性问题,您可以选择降级到Node.js 16或更低版本。较低版本的Node.js默认使用较旧的OpenSSL版本,这样就避免了error:0308010C错误的发生。

Logo

腾讯云面向开发者汇聚海量精品云计算使用和开发经验,营造开放的云计算技术生态圈。

更多推荐