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

相关推荐
东风破_3 小时前
Docker 基础:为什么需要容器?
前端·后端·nginx
东风破_3 小时前
Docker 实战:使用 Nginx 作为容器入口代理 Node 服务
前端·后端·nginx
你别说话了4 小时前
Vue项目解决跨域
前端·javascript·vue.js
唐青枫4 小时前
http-server:别再双击 index.html,一条命令把目录变成网站
前端·javascript
网安蟹佬霸5 小时前
OSINT开源情报收集实战:从信息搜集到资产测绘(2026最新万字保姆级指南)
前端·网络·安全·web安全·网络安全·开源
JoyCong19985 小时前
ToDesk个人版、专业版、游戏版、设计版、性能版、团队版权益介绍
大数据·运维·游戏·远程工作·远程操作
a1117765 小时前
3D历史建筑展览馆 THreeJS 开源
前端·开源
单线程_015 小时前
【源码阅读】Vue3 Tokenizer 词法分析器完整状态机流转深度梳理(3.4+ 新版架构)
前端
PBitW5 小时前
PM 丢来 3 个 Excel、12 个功能、4 种情形?用 TRAE Work 30 分钟整理成前端开发文档
前端·trae
Elastic 中国社区官方博客6 小时前
ES95:面向 Elasticsearch 时间序列指标的自适应压缩
大数据·运维·elasticsearch·搜索引擎·架构·全文检索