Ape.Volo项目启动前端项目时报错“digital envelope routines::unsupported”
学习Ape.Volo项目过程中,运行npm run serve命令启动前端ape-volo-web-master项目时报错“Error: error:0308010C:digital envelope routines::unsupported”,详细信息如下图所示:
百度上述错误信息,找到的解释是报错是由于Node.js版本兼容性问题导致的,Node.js 18+版本中,OpenSSL 从 1.x 升级到 3.x,移除了对一些旧版加密算法的支持,但很多前端工具链(如 Webpack 4、Vue CLI等)仍在使用这些被废弃的算法。可以采用以下几种方式解决问题:
1)卸载高版本Node.js,安装低版本Node.js,或者使用nvm install命名安装低版本Node.js,然后使用nvm use 低版本号切换到低版本;
2)运行npm run serve命令前,先运行set NODE_OPTIONS=–openssl-legacy-provider命令,但是每次重新打开命令行都得按顺序执行下面的命令:
set NODE_OPTIONS=--openssl-legacy-provider
npm run serve
3)修改项目中的package.json文件,在scripts部分的serve和build相关的值中都加入set NODE_OPTIONS=–openssl-legacy-provider命令。本文照此修改了package.json文件,如下面截图所示,但是启动时又报了另外的错误,感觉跟preview设置有关系,不过没有深入排查原因。
最终采用第二种方法正常启动了前端服务。
参考文献:
[1]https://blog.csdn.net/zykwblx/article/details/128959410
[2]https://blog.csdn.net/m0_73442728/article/details/141640047