npm 报错digital envelope routines::unsupported

好长时间没更新软件了,最近重新安装了brew 就重装了node node的版本为20.5.1,我按网上还有人在用14、16的版本,我安装的可能还是太先进了一点,就跑了下项目,当我运行 npm run dev 的时候就报了如下的错:Error: error:0308010C:digital envelope routines::unsupported

看的表懵,就上网查了下,出现这个错误是因为 node.js V17版本中最近发布的OpenSSL3.0, 而OpenSSL3.0对允许算法和密钥大小增加了严格的限制,可能会对生态系统造成一些影响.

当然方法也有很多,有的更新会比较老的node版本,也可以通过设置环境变量,
export NODE_OPTIONS=–openssl-legacy-provider

按照设置下环境变量,马上就清爽了。

You May Also Like