之前的node版本是16的,老项目能正常运行,前几天把node更新到v20.11.1
,现在来启动项目报错了。
错误提示如下:
opensslErrorStack: [ 'error:03000086:digital envelope routines::initialization error' ],
library: 'digital envelope routines',
reason: 'unsupported',
code: 'ERR_OSSL_EVP_UNSUPPORTED'
查阅资料才知道node高版本加入了更严格的限制。
解决方案
在项目的根目录下找到package.json
文件,在scripts
下的运行项中添加SET NODE_OPTIONS=--openssl-legacy-provider &&
"scripts": {
"serve": "SET NODE_OPTIONS=--openssl-legacy-provider && vue-cli-service serve",
"build": "vue-cli-service build",
"lint": "vue-cli-service lint"
},
重新启动项目,就能正常运行了!