报错 libatomic.so.1: No such file or directory

目录

[方案 1:服务器安装缺失依赖(推荐,一劳永逸)](#方案 1:服务器安装缺失依赖(推荐,一劳永逸))

[CentOS7 / Anolis OS 7](#CentOS7 / Anolis OS 7)

[CentOS8 / Rocky8 / Anolis8](#CentOS8 / Rocky8 / Anolis8)

Debian/Ubuntu

[方案 2:不想装系统依赖 → 降级 Node 版本(兼容老系统)](#方案 2:不想装系统依赖 → 降级 Node 版本(兼容老系统))

[方案 3:离线环境无外网,手动补充 libatomic(离线服务器专用)](#方案 3:离线环境无外网,手动补充 libatomic(离线服务器专用))

补充验证命令(安装后校验库是否存在)

[补充说明 SonarQube 关联逻辑](#补充说明 SonarQube 关联逻辑)


jenkins报错信息:

15:44:4.933 ERROR node: error while loading shared libraries: libatomic.so.1: cannot open shared object file: No such file or directory 15:44:45.935 ERROR Failed to determine the version of Node.js, exit value 127. Executed: 'node -v' org.sonarsource.nodejs.NodeCommandException: Failed to determine the version of Node.js, exit value 127. Executed: 'node -v' at org.sonarsource.nodejs.NodeCommandBuilderImpl.getVersion(NodeCommandBuilderImpl.java:206)

报错 libatomic.so.1: No such file or directory 不是 Jenkins 配置问题,是系统缺少 Node26 运行必需的共享库文件 : Node.js 26 高版本编译时依赖 libatomic.so.1,你的服务器系统(大概率 CentOS7 / Anolis7)默认未预装该库,二进制文件存在但无法执行,返回 exit code 127。

方案 1:服务器安装缺失依赖(推荐,一劳永逸)

CentOS7 / Anolis OS 7

bash 复制代码
yum install -y libatomic

CentOS8 / Rocky8 / Anolis8

bash 复制代码
dnf install -y libatomic

Debian/Ubuntu

bash 复制代码
apt update && apt install -y libatomic1

安装完成后重新构建 Jenkins 任务node -v 即可正常运行。


方案 2:不想装系统依赖 → 降级 Node 版本(兼容老系统)

CentOS7 原生 glibc 版本偏低,Node 24+ 都会出现 libatomic 依赖问题,解决:

  1. 进入 Jenkins【系统管理】→【全局工具配置】→ NodeJS
  2. 删除 NodeJS26.5,新建 Node 工具,选择 Node 20.x LTS(20.xx)
  3. 任务下拉框切换为新的 Node20 工具名称,保存构建 Node20 不强制依赖 libatomic.so.1,老 Linux 系统可直接运行。

方案 3:离线环境无外网,手动补充 libatomic(离线服务器专用)

  1. 在同版本能联网的机器下载安装包 CentOS7:yumdownloader libatomic

  2. 将 rpm 包上传 Jenkins 服务器,本地安装

    bash 复制代码
    rpm -ivh libatomic-*.rpm

补充验证命令(安装后校验库是否存在)

bash 复制代码
# 检查库文件
ls /usr/lib64/libatomic.so.1
# 手动执行node测试
/var/jenkins_home/tools/nodejs/NodeJS26.5/node-*/bin/node -v

输出版本号即代表依赖修复完成。

补充说明 SonarQube 关联逻辑

日志里 org.sonarsource.nodejs.NodeCommandException 是 Sonar 扫描器调用 node 做 JS/TS 代码分析触发的报错,根源还是 node 无法启动,修复 libatomic 或降级 Node 后 Sonar 报错会同步消失。

相关推荐
飞翔的熊blabla1 天前
# Webpack 5 + Jenkins 持久化缓存实战:前端构建从 288 秒降到 30 秒>
前端·webpack·jenkins
海兰2 天前
Elasticsearch ES|QL:让全文本搜索无处不在
大数据·elasticsearch·jenkins
IT界的老黄牛3 天前
Jenkins 监控一条龙:接入、看板 9964、11 条告警规则直接抄走
jenkins·grafana·prometheus·监控·ci-cd·告警规则
小袁拒绝摆烂3 天前
Jenkins部署经验
运维·jenkins
IT界的老黄牛3 天前
Jenkins 构建卡了 23 天,abort 按钮点了没用
jenkins·maven·prometheus·告警·排查·ci-cd
GGG7665 天前
K8s1.28 全栈落地|Jenkins+GitLab+Harbor DevOps 流水线封神实战
kubernetes·gitlab·jenkins
叱咤少帅(少帅)6 天前
新版本jenkins的共享库的实现
运维·jenkins
2601_962297256 天前
Python、Pytest、Allure、Selenium和Jenkins实现自动化测试集成实例
python·selenium·jenkins·pytest·allure
大模型丫丫6 天前
工业级 RAG 为什么需要 Elasticsearch?
elasticsearch·django·jenkins
X1A0RAN7 天前
Jenkins 流水线跨阶段的数据共享:让变量“动态更新“成为可能
java·servlet·jenkins