解决Jenkins在构建前端任务时报错error minimatch@10.0.3:……的记录

一,问题记录

在我搭建CICD流水线的过程中,当我在Jenkins上运行构建前端任务时,遇到了如下报错。

复制代码
[3/5] Fetching packages...
error minimatch@10.0.3: The engine "node" is incompatible with this module. Expected version "20 || >=22". Got "16.20.2"
error Found incompatible module.
info Visit https://yarnpkg.com/en/docs/cli/install for documentation about this command.
Build step 'Execute shell' marked build as failure
Finished: FAILURE

二,解决过程

询问AI后,得知是现在系统环境的nodejs版本太低了,无法满足这个minimatch依赖包的要求。

于是我便在Jenkins的服务器上重新安装nodejs 20.10.0,但是又出现了新的报错

网上寻找答案后,大概意思就是:

GLIBC:是 Linux 系统的 "底层标准库",所有程序(包括 Node.js)都需要依赖它才能运行。

但是我的系统是centos7,默认的 GLIBC 版本是 2.17,而Node.js 20.x 需要更高版本的 GLIBC(如 2.25/2.27/2.28)

所以使用nodejs 20以上的版本对于我这个系统是走不通的了。

之后我又试着安装了nodejs 16 版本,但是在rebuild之后,报错依然是需要nodejs 20以上的版本。

后来又看到一篇文章,讲的挺不错的,遇到的报错与我的似乎一致,说可以降低项目所需要的minimatch的版本来达到不需要更新nodejs的版本也可以解决这个报错的方法。

文章链接如下:

https://huangfuyk.blog.csdn.net/article/details/149329894?fromshare=blogdetail&sharetype=blogdetail&sharerId=149329894&sharerefer=PC&sharesource=m0_74197017&sharefrom=from_link

于是我便更新了项目的代码,强制项目使用minimatch的9.0.0的版本,再次构建后,报错便没有再次出现了。

三,总结

在遇到这个问题时可以有以下的解决方法:

1,条件允许的情况下,可以更新nodejs的版本

2,使用resolutions字段强制锁定子依赖版本

相关推荐
Elastic 中国社区官方博客3 小时前
在 Elastic Observability 中,启用 TSDS 集成可节省高达 70% 的指标存储
大数据·运维·数据库·elasticsearch·搜索引擎·全文检索·时序数据库
明月与玄武3 小时前
JS 自定义事件:从 CustomEvent 到 dispatchEvent!
前端·javascript·vue.js
Zhencode3 小时前
vue之异步更新队列
前端·javascript·vue.js
九年义务漏网鲨鱼3 小时前
从零学习 Agentic RL(四)—— 超越 ReAct 的线性束缚:深入解析 Tree-of-Thoughts (ToT)
前端·学习·react.js
Jay丶3 小时前
Next.js 与 SEO:让搜索引擎爱上你的网站 💘
前端·javascript·react.js
RedCong3 小时前
gitops无法连接到Openshift集群
运维·服务器·openshift
狗头大军之江苏分军3 小时前
请不要在感情里丢掉你的“我”
前端·后端
Gss7773 小时前
ELK 日志分析平台核心组件部署与日志收集指南
运维·elk
半梦半醒*3 小时前
ELK2——logstash
linux·运维·elk·elasticsearch·centos·1024程序员节