公司新項(xiàng)目用的vue3,老項(xiàng)目用的vue2,老項(xiàng)目要維護(hù),新項(xiàng)目要開發(fā),搭建vue3項(xiàng)目框架時(shí),把node版本升級(jí)到了18,在啟動(dòng)vue2項(xiàng)目時(shí)我懵了,啟動(dòng)不起來(lái),出現(xiàn)一下錯(cuò)誤:
原因是:
node.js的版本問(wèn)題
因?yàn)?node.js V18版本中最近發(fā)布的OpenSSL3.0, 而OpenSSL3.0對(duì)允許算法和密鑰大小增加了嚴(yán)格的限制,可能會(huì)對(duì)生態(tài)系統(tǒng)造成一些影響。故此以前的項(xiàng)目在升級(jí) nodejs 版本后會(huì)報(bào)錯(cuò)
image.png
然后我網(wǎng)上查到的方法有:
1、未采取提示的方式,而是利用了npx命令;
使用npx指定npm的版本
npx -p npm@6 npm i --legacy-peer-deps
注意:如果這不能立即起作用,也許可以先刪除node_modules和package-lock.json。它們將被重新創(chuàng)建。
(不知道是不是我的方法不對(duì),反正是沒起作用)
2、親測(cè)有效,(直接用、我是windows系統(tǒng))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、當(dāng)然你也可以降低node版本號(hào),我是還怕降低版本號(hào)后影響vue3項(xiàng)目