node.js版本大于16.18.1,导致vue2 版本项目无法正常启动

941 阅读1分钟

之前vue2项目的版本是2.6.11,nodejs版本是6.18.1,可以正常运行,但是node更新版本后就显示启动失败

image.png

原因:是node.js的版本问题

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

解决方法:修改package.json文件启动项

    "serve": "SET NODE_OPTIONS=--openssl-legacy-provider && vue-cli-service serve",
    "build": "SET NODE_OPTIONS=--openssl-legacy-provider && vue-cli-service build",
    "build:test": "SET NODE_OPTIONS=--openssl-legacy-provider && vue-cli-service build --mode test --dest dist-test",
    

添加 SET NODE_OPTIONS=–openssl-legacy-provider 即可