vue项目npm run serve 报错:error:0308010C:digital envelope routines::unsupported

500人浏览 2023-08-03

问题:

vue项目启动时运行:npm run serve 报错如下:

 error:0308010C:digital envelope routines::unsupported
    at new Hash (node:internal/crypto/hash:69:19)
    at Object.createHash (node:crypto:138:10)

Error: error:0308010C:digital envelope routines::unsupported
    at new Hash (node:internal/crypto/hash:69:19)
    at Object.createHash (node:crypto:138:10)
 

 

解决方案:

打开package.json文件:

找到scripts 添加:export NODE_OPTIONS=--openssl-legacy-provider &&


"scripts": {
    "dev": "export NODE_OPTIONS=--openssl-legacy-provider && vue-cli-service serve",
    "build:prod": "export NODE_OPTIONS=--openssl-legacy-provider && vue-cli-service build"
 }

说明:win系统是:set NODE_OPTIONS=--openssl-legacy-provider

linux(mac)系统是:export NODE_OPTIONS=--openssl-legacy-provider

产生原因:

Node 17.x 版本之前,它使用 OpenSSL 2 版本。NodeJS 使用 OpenSSL 作为哈希功能代码。OpenSSL 3 禁用 MD4,因为最新的 Nodejs 版本中的 NodeJS 已损坏。

 

推荐文章

使用npm安装vue框架
2020-10-21
在win10下使用压缩包安装npm和node,绿色版安装npm
2020-10-21
npm 常用命令汇总
2020-10-21
搜索文章