问题内容
npm run dev
> vue-element-admin@4.4.0 dev
> vue-cli-service serve
INFO Starting development server...
10% building 2/5 modules 3 active /Users/xuaner/vue-element-admin/node_modules/webpack/hot/dev-server.jsnode: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)
。。。。。。。。。
{
opensslErrorStack: [ 'error:03000086:digital envelope routines::initialization error' ],
library: 'digital envelope routines',
reason: 'unsupported',
code: 'ERR_OSSL_EVP_UNSUPPORTED'
}
Node.js v18.12.1
问题原因
因为 node.js V17以上版本使用了OpenSSL3.0, 而OpenSSL3.0对允许算法和密钥大小增加了严格的限制
问题解决
export NODE_OPTIONS=--openssl-legacy-provider