问题:
我的node 版本为 v19.9.0,在运行一个老项目的时候,报如下错误: 

 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'
}
解决方法:
经查:问题原因是因为 node 新版本中的openssl和14版本的不同(老项目原本可以在node14版本下运行的)

解决方案1:在你的项目的 package.json 文件中的 scripts 部分,添加一个新的脚本,比如 dev:(通过添加 NODE_OPTIONS=--openssl-legacy-provider 到启动脚本中,为 Node.js 设置了一个环境变量,以使用旧版本的 OpenSSL 提供程序。)

"scripts": {
  "dev": "set NODE_OPTIONS=--openssl-legacy-provider && vue-cli-service serve", 
}
 但这个方法对我的错误无效。

解决方案2:在命令行输入命令修改环境变量:

$env:NODE_OPTIONS="--openssl-legacy-provider"
这个方法亲测有效!

Logo

有“AI”的1024 = 2048,欢迎大家加入2048 AI社区

更多推荐