Vue 报错error:0308010C:digital envelope routines::unsupported
最近在完善自己前些日子做的一个vue项目时,刚一运行项目就报错 error:0308010C:digital envelope routines::unsupported
产生其问题的原因还是我在 koa2 搭建服务时候升级了以下npm版本,顺手更新了最新的node包,之前用的node v16版本。
查看相关资料还是版本不匹配:
出现这个错误是因为 node.js V17+ 版本中最近发布的OpenSSL3.0, 而OpenSSL3.0对允许算法和密钥大小增加了严格的限制,可能会对生态系统造成一些影响。在node v17以前一些可以正常运行的的应用程序,但是在 V17 版本可能会抛出以上异常。
方法1、尝试卸载Node.js 17+版本并重新安装Node.js 16+版本,然后再重新启动
此方法比较简单,去 node.js 官网下载 v16 版本安装即可,此处不在过多描述。
方法2、使用 NODE_OPTIONS 环境变量来全局设置
从 2017 年 8 月发布的 Node.js v8.0 开始,都是可以使用 NODE_OPTIONS 环境变量来全局设置 max_old_space_size的
具体配置如下:
执行以下命令
export NODE_OPTIONS=--openssl-legacy-provider
或
修改vue项目中的 package.json 文件
重新启动正常!
以上是本人在使用过程中遇到问题的解决方法,其他小伙伴如有更好的解决方式或问题欢迎评论区留言,谢谢~~