高版本node启动RuoYi-Vue若依前端ruoyi-ui

在使用Node.js时,如果版本过高,特别是Node.js 17及以上版本,会出现vue-cli项目运行报错的问题。这是因为Node.js 17引入了OpenSSL 3.0,该版本不再支持md4算法,而在此之前,Node.js中的md4方法是可以正常使用的。在Node.js 17及更高版本中,如果继续使用md4,会抛出错误代码ERR_OSSL_EVP_UNSUPPORTED。

方法一:设置启动命令

在启动项目之前,运行以下配置命令:

javascript 复制代码
set NODE_OPTIONS=--openssl-legacy-provider

此命令的作用是告诉Node.js使用旧版的OpenSSL库,避免使用OpenSSL 3.0,从而规避错误的发生。

方法二:修改package.json配置

通过修改package.json文件,可以将上述命令直接添加到项目的启动脚本中。具体配置如下:

javascript 复制代码
"dev":"set NODE_OPTIONS=--openssl-legacy-provider && vue-cli-service serve --open",

"build:prod":"set NODE_OPTIONS=--openssl-legacy-provider && vue-cli-service build --report",

"build:stage":"set NODE_OPTIONS=--openssl-legacy-provider && vue-cli-service build --mode staging",

"preview":"set NODE_OPTIONS=--openssl-legacy-provider && node build/index.js --preview",

这样,每次启动或打包项目时,都会自动使用旧版OpenSSL。

方法三:降级Node.js版本

如果以上两种方法不适用,还可以将Node.js降级到16版本或更低版本。Node.js 16及以下版本不包含OpenSSL 3.0,因此不会出现md4不支持的问题,项目也可以正常运行。

相关推荐
Data analyse4561 小时前
rnweb 回放数据量太大怎么办?分片存储与断点续传的实现思路
前端·网络·算法·数据分析
xiaogai_gai1 小时前
金蝶收料通知单查询策略实战教程:从源系统拉取到中间层落地的完整路径
java·前端·数据库
环境栈笔记2 小时前
指纹浏览器 WebRTC 怎么设置?从 ICE 候选、代理出口到功能验证
前端·人工智能·后端·自动化
赵大仁2 小时前
官网性能优化实战:LCP 3.2s → 2.1s、CLS 0.107 → 0,以及被我推翻的 6 个判断
前端·性能优化·cls·lcp·core web vitals
xiancai_xianyu2 小时前
Text2SQL落地生产库前,SQL要过哪三道闸
前端·数据库·sql·sql注入·text2sql·ai agent开发·企业级ai框架
小羊没烦恼!3 小时前
T-SQL查询进阶--理解SQL SERVER中的分区表
服务器·开发语言·前端·javascript·html
史瓦辛格3 小时前
给 DeepSeek Harness 写费用插件:把「这次会话花了多少钱」算准
前端·deepseek
星光不问赶路人3 小时前
Vue 3 + TypeScript 中 enum 的使用实践
前端·vue.js
鸥梨菌Honevid3 小时前
UVM 中 REQ 和 RSP 类型详解:从通信模型到 item_done 与 put_response
java·前端·servlet
IT_陈寒3 小时前
Python多进程共享变量这个坑,差点让我加班到凌晨
前端·人工智能·后端