运行项目出现Error: error:0308010C:digital envelope routines::unsupported

时间:2022-07-13 00:45:08

本人电脑环境:win11,node.js版本是18,采用webstorm来运行项目。

前言:这个今天困扰了我一整天,在webstorm运行项目时报了-4048错误,发现主要是nodejs17版本发布了OpenSSL3.0对算法和秘钥大小增加了更为严格的限制,npm升级导致了与OpenSSL不兼容导致的初始化失败,而我的电脑上的node.js是18的,版本太高了。

解决:增加系统环境变量

在我的电脑,右键,属性,高级系统设置,添加系统变量,变量名:NODE_OPTIONS,变量值:--openssl-legacy-provider,如下图。

运行项目出现Error: error:0308010C:digital envelope routines::unsupported

点击确定,关闭,重新打开一个项目来运行,发现问题已解决。