1、npm run dev出现Error: error:0308010C:digital envelope routines::unsupported
出现该问题一般是node版本问题,在node.js 17+的版本中添加了OpenSSL3.0, 而OpenSSL3.0对允许算法和密钥大小增加了严格的限制,可能会对生态系统造成一些影响。运行项目时出现如下的报错日志:
Error: error:0308010C:digital envelope routines::unsupported
at new Hash (node:internal/crypto/hash:69:19)
at Object.createHash (node:crypto:133:10)
……
解决方式是降低版本(比较麻烦的一种解决方式),或者修改package.json,将dev及build的属性调整为下图所示:
"scripts": {
"dev": "SET NODE_OPTIONS=--openssl-legacy-provider && vue-cli-service serve",
"build": "SET NODE_OPTIONS=--openssl-legacy-provider && vue-cli-service build",
}
最好的方式是控制项目的nvm和node版本,保证项目正常运行。