1. node最新版本下载链接
点击最新下载链接,找到对应版本下载并解压
2. 通过命令`where node`找到node.exe位置
3. 将该位置的node.exe替换为下载解压的最新node.exe
4. 重新执行node -v查看版本
---------------------------------------------------------------------------------------------------------------------------------
升级版本后发现一些vue项目运行报错error:0308010C:digital envelope routines::unsupported
原因是node版本17及以上使用了OpenSSL v3,而v14.x和v16.x不受该影响
解决报错办法
① 在文件package.json中添加set NODE_OPTIONS=--openssl-legacy-provider
但是每个项目运行都要添加,很麻烦!!!
"scripts": {
"serve": "set NODE_OPTIONS=--openssl-legacy-provider && vue-cli-service serve --open",
...
},
② 降npm版本
node版本列表https://nodejs.org/download/release/由于运行typescript需14.17.0以上版本且v14.x和v16.x不受OpenSSL v3影响,下载了16.9.1版本,方法同上进行解压替换
替换后node -v查看node版本报错 node: --openssl-legacy-provider is not allowed in NODE_OPTIONS
输入命令set NODE_OPTIONS=清空NODE_OPTIONS环境变量
set NODE_OPTIONS=
再次查看node -v版本,恢复正常
---------------------------------------------------------------------------------------------------------------------------------
最后还是建议将原先nodejs文件内容替换为下载解压的整个文件夹内容,这样npm也同步升级了