事情起因
编译一个老的项目的时候报错Error: error:0308010C:digital envelope routines::unsupported at new Hash,简单搜索发现是新版的nodejs禁用了new Hash的一个功能
stackoverflow提供了环境变量的解决方案,set NODE_OPTIONS=--openssl-legacy-provider,非常不幸我怎么尝试都未成功
降级nodsjs版本
因为平时nodejs用的不多,所以也没准备旧版本,故使用以前的老工具nvm解决,此工具有windows版
操作流程
- 下载windows版nvm,并安装
- nvm命令测试能运行
- 安装
nvm install 14 - 使用
nvm use 14 - 检查nodejs版本,
nodejs -v,发现一切正常 - 尝试编译程序,无报错