npm yarn Error: error:0308010C:digital envelope routines::unsupported 问题

npm yarn Error: error:0308010C:digital envelope routines::unsupported 问题


在一个vue项目中,升级了nodejs之后,使用命令 yarn  运行项目时,出现了   Error: error:0308010C:digital envelope routines::unsupported 

查询网站上相关解决方案,主要是因为 nodeJs V17 版本发布了 OpenSSL3.0 对算法和秘钥大小增加了更为严格的限制,nodeJs v17 之前版本没影响,但 V17 和之后版本会出现这个错误,我当前版本是V14+

网上也列出了一些解决方案,如修改环境变量,如重新装合适的nodejs 版本,在项目中修改配置

我主要是因为另一个项目需要更高版本,因此

我这边是修改了当前项目配置,如下:

修改前:

image.png

修改后:

image.png

主要是针对  server及 build 进行了修改,在原有的命令前,增加了  SET NODE_OPTIONS=--openssl-legacy-provider && 

这里的 server  build  即项目启动是运行的命令

如我的 是 yarn run server     构建时是  yarn run build

这里不同项目名称不太一样。

修改完成后,重新运行 yarn run server    /   build   问题解决

qrcode