解决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字段强制锁定子依赖版本

相关推荐
好家伙VCC21 小时前
### WebRTC技术:实时通信的革新与实现####webRTC(Web Real-TimeComm
java·前端·python·webrtc
Dying.Light1 天前
Linux部署问题
linux·运维·服务器
S19011 天前
Linux的常用指令
linux·运维·服务器
萤丰信息1 天前
AI 筑基・生态共荣:智慧园区的价值重构与未来新途
大数据·运维·人工智能·科技·智慧城市·智慧园区
小义_1 天前
【RH134知识点问答题】第7章 管理基本存储
linux·运维·服务器
未来之窗软件服务1 天前
未来之窗昭和仙君(六十五)Vue与跨地区多部门开发—东方仙盟练气
前端·javascript·vue.js·仙盟创梦ide·东方仙盟·昭和仙君
运维小欣1 天前
Agentic AI 与 Agentic Ops 驱动,智能运维迈向新高度
运维·人工智能
嘿起屁儿整1 天前
面试点(网络层面)
前端·网络
VT.馒头1 天前
【力扣】2721. 并行执行异步函数
前端·javascript·算法·leetcode·typescript
_运维那些事儿1 天前
VM环境的CI/CD
linux·运维·网络·阿里云·ci/cd·docker·云计算