公司新项目用的vue3,老项目用的vue2,老项目要维护,新项目要开发,搭建vue3项目框架时,把node版本升级到了18,在启动vue2项目时我懵了,启动不起来,出现一下错误:
原因是:
node.js的版本问题
因为 node.js V18版本中最近发布的OpenSSL3.0, 而OpenSSL3.0对允许算法和密钥大小增加了严格的限制,可能会对生态系统造成一些影响。故此以前的项目在升级 nodejs 版本后会报错
然后我网上查到的方法有:
1、未采取提示的方式,而是利用了npx命令;
使用npx指定npm的版本
npx -p npm@6 npm i --legacy-peer-deps
注意:如果这不能立即起作用,也许可以先删除node_modules和package-lock.json。它们将被重新创建。
(不知道是不是我的方法不对,反正是没起作用)
2、亲测有效,(直接用、我是windows系统)build 同理
mac:
"scripts": {
"serve": "export NODE_OPTIONS=--openssl-legacy-provider && vue-cli-service serve",
}
windows
"scripts": {
"serve": "set NODE_OPTIONS=--openssl-legacy-provider && vue-cli-service serve",
},
3、当然你也可以降低node版本号,我是还怕降低版本号后影响vue3项目