vue报错:Error: error:0308010C:digital envelope routines::unsupported

重装node后,运行vue项目报错。错误信息如下图所示:

Error: error:0308010C:digital envelope routines::unsupported


错误分析:

    因为 node.js V17版本中最近发布的OpenSSL3.0, 而OpenSSL3.0对允许算法和密钥大小增加了严格的限制

一、更换node.js版本。

    因为node.js版本升级的问题,那么也可以通过安装node.js V17版本下的node即可

二、package.json配置修改

    修改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版本,这样可以极大程度的保证项目的正常运行。

    关于在window上安装nvm可以参考本站文章《nvm-windows安装及管理多个node和npm自由切换


六月初字帖坊小程序 你想要的字帖模板及工具,这里都有!