高版本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不支持的问题,项目也可以正常运行。

相关推荐
前端若水1 分钟前
会话管理:创建、切换、删除对话历史
前端·人工智能·python·react.js
Bigger10 分钟前
mini-cc:一个轻量级 AI 编程助手的诞生
前端·ai编程·claude
涵涵(互关)24 分钟前
Naive-ui树型选择器只显示根节点
前端·ui·vue
BY组态33 分钟前
Ricon组态系统最佳实践:从零开始构建物联网监控平台
前端·物联网·iot·web组态·组态
BY组态38 分钟前
Ricon组态系统vs传统组态软件:为什么选择新一代Web组态平台
前端·物联网·iot·web组态·组态
SoaringHeart40 分钟前
Flutter进阶:OverlayEntry 插入图层管理器 NOverlayZIndexManager
前端·flutter
放下华子我只抽RuiKe51 小时前
React 从入门到生产(四):自定义 Hook
前端·javascript·人工智能·深度学习·react.js·自然语言处理·前端框架
XinZong1 小时前
OpenClaw 实现双重心跳(Heartbeat)+ clawreach虾聊项目实现
javascript
IT_陈寒2 小时前
Redis缓存击穿把我整不会了,原来还有这手操作
前端·人工智能·后端
idcu3 小时前
深入 Lyt.js 组件系统:L2 渲染引擎层的核心
前端·typescript