问题描述

启动Vue项目时,突发报如下异常:

opensslErrorStack: [
    'error:03000086:digital envelope routines::initialization error',
    'error:0308010C:digital envelope routines::unsupported'
  ],
  library: 'digital envelope routines',
  reason: 'unsupported',
  code: 'ERR_OSSL_EVP_UNSUPPORTED'

在这里插入图片描述


原因分析:

nodejs V17 版本发布了 OpenSSL3.0 对算法和秘钥大小增加了更为严格的限制,nodeJs v17 之前版本没影响,但 V17 和之后版本会出现这个错误。


解决方案:

方法一:Vscode或者cmd命令行输入命令

$env:NODE_OPTIONS="--openssl-legacy-provider"

使电脑上的 node 版本能适应项目的版本。

然后再执行 npm run serve ,则能成功运行项目。

方法二:
找到package.json 文件,加上:set NODE_OPTIONS=–openssl-legacy-provider && 如下:

"dev": "set NODE_OPTIONS=--openssl-legacy-provider && vue-cli-service serve --open",

方法三:
将NodeJS切换到17以下版本,再进行启动。
在这里插入图片描述

Logo

腾讯云面向开发者汇聚海量精品云计算使用和开发经验,营造开放的云计算技术生态圈。

更多推荐