运行项目出现Error: error:0308010C:digital envelope routines::unsupported
本人电脑环境:win11,node.js版本是18,采用webstorm来运行项目。
前言:这个今天困扰了我一整天,在webstorm运行项目时报了-4048错误,发现主要是nodejs17版本发布了OpenSSL3.0对算法和秘钥大小增加了更为严格的限制,npm升级导致了与OpenSSL不兼容导致的初始化失败,而我的电脑上的node.js是18的,版本太高了。
解决:增加系统环境变量
在我的电脑,右键,属性,高级系统设置,添加系统变量,变量名:NODE_OPTIONS,变量值:--openssl-legacy-provider,如下图。
点击确定,关闭,重新打开一个项目来运行,发现问题已解决。