使用node 18 后项目报错Error: error:0308010C:digital envelope routines::unsupported

使用node 18 后项目报错Error: error:0308010C:digital envelope routines::unsupported

因为 node.js V17版本中最近发布的OpenSSL3.0, 而OpenSSL3.0对允许算法和密钥大小增加了严格的限制,可能会对生态系统造成一些影响。故此以前的项目在升级 nodejs 版本后会报错。

解决方法

修改package.json
在相关构建命令之前加入SET NODE_OPTIONS=--openssl-legacy-provider

点击查看代码
"scripts": {
    "serve": "SET NODE_OPTIONS=--openssl-legacy-provider && vue-cli-service serve",
    "build": "SET NODE_OPTIONS=--openssl-legacy-provider && vue-cli-service build --no-module"
  },
posted @ 2023-05-13 06:57  Dz&Ying  阅读(697)  评论(0)    收藏  举报