问题描述
1.下载使用了最新版的nodejs,部署老项目的时候启动报错了
2.报错信息 Error: error:0308010C:digital envelope routines::unsupported
原因分析
1、原项目是在nodejs 16版本上跑,目前升级为nodejs 18,可能是由于升级影响的
2、具体错误原因:ERR_OSSL_EVP_UNSUPPORTED 错误SSL 数字信封不支持
E:\code\Vue3\code\webpack>npm run dev
> webpack@1.0.0 dev
> webpack
node:internal/crypto/hash:71
this[kHandle] = new _Hash(algorithm, xofLen);
^
Error: error:0308010C:digital envelope routines::unsupported
at new Hash (node:internal/crypto/hash:71:19)
at Object.createHash (node:crypto:133:10)
at BulkUpdateDecorator.hashFactory (E:\code\Vue3\code\webpack\node_modules\webpack\lib\util\createHash.js:138:18)
at BulkUpdateDecorator.update (E:\code\Vue3\code\webpack\node_modules\webpack\lib\util\createHash.js:44:50)
at RawSource.updateHash (E:\code\Vue3\code\webpack\node_modules\webpack-sources\lib\RawSource.js:64:8)
at NormalModule._initBuildHash (E:\code\Vue3\code\webpack\node_modules\webpack\lib\NormalModule.js:736:17)
at handleParseResult (E:\code\Vue3\code\webpack\node_modules\webpack\lib\NormalModule.js:800:10)
at E:\code\Vue3\code\webpack\node_modules\webpack\lib\NormalModule.js:853:4
at processResult (E:\code\Vue3\code\webpack\node_modules\webpack\lib\NormalModule.js:624:11)
at E:\code\Vue3\code\webpack\node_modules\webpack\lib\NormalModule.js:675:5 {
opensslErrorStack: [ 'error:03000086:digital envelope routines::initialization error' ],
library: 'digital envelope routines',
reason: 'unsupported',
code: 'ERR_OSSL_EVP_UNSUPPORTED'
}
Node.js v18.12.1
解决方法有两种:
1、降版本到v16.X
2.先运行一次下面这条命令在跑项目
windows系统当中:
set NODE_OPTIONS=--openssl-legacy-provider
linux系统当中:
export NODE_OPTIONS=--openssl-legacy-provider
评论 (0)