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版本,保证项目正常运行。