问题出现场景:从gitee上拉下来的前端项目,使用( npm run dev ) 运行vue项目时,出现错误:Error: error:0308010C:digital envelope routines::unsupported
问题原因:新下载的nodejs版本不兼容导致
解决办法:
1、更改系统环境变量
①Windows平台
我的电脑上右键 → 属性 → 高级系统设置 → 添加系统变量:NODE_OPTIONS = --openssl-legacy-provider
②Linux / Mac 平台
export NODE_OPTIONS=--openssl-legacy-provider
完成后,建议重新打开一个命令行窗口启动服务。
2、更改项目环境变量来解决
①在 package.json 的 scripts 中新增:SET NODE_OPTIONS=--openssl-legacy-provider
②与①类似,在编辑器集成终端里,直接设置环境变量进行控制(这种方式只能临时解决)
具体如下:
找到 package.json 文件右键,在集成终端中打开,直接输入 set NODE_OPTIONS=--openssl-legacy-provider 回车,然后 npm run serve 重新运行项目即可。
// windows系统
set NODE_OPTIONS=--openssl-legacy-provider
// linux系统
export NODE_OPTIONS=--openssl-legacy-provider
3、更换NodeJs版本来解决
卸载本地NodeJs环境,暗转NodeJsV17之前的版本。