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