因旧版的node所开发项目在高版本的node(>17.x.x的版本)下,运行报error:03000086:digital envelope routines::initialization error错误问题的一些简单解决方法。
错误截图如上
产生原因:nodejs17.x.x以上的版本中默认不再允许OpenSSL 3.0的算法或密钥大小,但您的应用程序或您正在使用的模块却正在尝试使用它。所以你会遇到ERR_OSSL_EVP_UNSUPPORTED错误,你可以在运行npm run xxx 命令之前,先运行下“$env:NODE_OPTIONS="--openssl-legacy-provider"”作为这些严格限制的临时解决方法。如下图: