在使用 npm run start
运行前端项目时,突然出现了报错:
错误信息
Error: error:0308010C:digital envelope routines::unsupported
问题原因
通过百度打发,发现是 node 版本问题导致的报错。
因为 node.js V17 版本中发布的 OpenSSL3.0, 而 OpenSSL3.0 对允许算法和密钥大小增加了严格的限制,可能会对生态系统造成一些影响。故此以前的项目在升级 nodejs 版本后会报错。
解决方案
切换 node 版本为 17 以下的版本,我这里是使用 nvm 管理 node 版本,也可以使用其他方案降低node的版本。
- 查看当前版本为 19+,过高
- 使用 nvm ls 查看已经安装的 node 版本,刚好有 16的
- 使用 16.16.0 的 node 之后再进行启动项目,即成功