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

相关推荐
胡志辉的博客9 分钟前
深入浅出理解浏览器事件循环:从一道输出题讲到 Chrome 源码
前端·javascript·chrome·chromium·event loop
代码不加糖17 分钟前
js中不会冒泡的事件有哪些?
前端·javascript·vue.js
懂懂tty32 分钟前
Vue2与Vue3之间API差异
前端·javascript·vue.js
AI焦点42 分钟前
跨越协议鸿沟:Tool Use状态机从Anthropic到OpenAI兼容体系的适配要点
前端·人工智能
Dxy12393102161 小时前
Python线程锁:为什么多线程会“打架“,以及怎么解决
开发语言·前端·python
老毛肚1 小时前
软件测试期末考试
vue.js
海兰1 小时前
【web应用】Excel 项目数据自动化分析系统(AI 驱动分析)详细设计与部署指南(附源代码)
前端·人工智能·自动化·excel
小二·1 小时前
Next.js 15 全栈开发实战
开发语言·javascript·ecmascript
2501_940041741 小时前
技术分享:高质量全栈开发提示词设计实践 —— 覆盖简单到复杂
前端·prompt
IT_陈寒2 小时前
Python的os.path.join居然能这么坑?
前端·人工智能·后端