You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Ubuntu 18.04安装Node.js v18时GLIBC_2.28缺失的解决方法

Ubuntu 18.04 升级 Node.js 18 遇 GLIBC_2.28 缺失问题的解决方案

快速解决方法

方案1:使用nvm安装Node.js 18(推荐)

nvm安装的Node.js属于静态编译版本,不依赖系统的GLIBC库,完美适配Ubuntu 18.04。在Azure Pipelines流水线中替换原有的NodeTool任务,改用以下脚本:

# 安装nvm
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.7/install.sh | bash
# 加载nvm环境变量
export NVM_DIR="$HOME/.nvm"
[ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh"
# 安装Node.js 18.x
nvm install 18
# 切换到安装的版本
nvm use 18
# 验证安装
node -v
npm -v

方案2:手动安装静态编译版Node.js

直接下载Node.js官方提供的静态编译二进制包,这类包不依赖系统动态库,可规避GLIBC版本问题:

  1. 前往Node.js官方网站,下载18.x系列的Linux x64静态编译包
  2. 在构建代理中通过命令下载或上传包文件
  3. 解压包并将bin目录加入系统PATH
    示例命令(以18.20.3版本为例):
# 下载指定版本包
curl -O https://nodejs.org/dist/v18.20.3/node-v18.20.3-linux-x64.tar.xz
# 解压文件
tar -xf node-v18.20.3-linux-x64.tar.xz
# 配置环境变量
export PATH=$PWD/node-v18.20.3-linux-x64/bin:$PATH
# 验证安装成功
node -v

方案3:切换至更高版本的构建代理

如果Azure Pipelines配置允许,直接将构建代理的操作系统更换为Ubuntu 20.04或更高版本。Ubuntu 20.04默认搭载的GLIBC版本为2.31,完全满足Node.js 18的依赖要求,无需额外配置即可正常使用。

依赖缺失问题的通用解决思路

  • 确认系统库版本:先检查当前系统已安装的目标库版本,比如查看GLIBC支持的所有版本:
    strings /lib/x86_64-linux-gnu/libc.so.6 | grep GLIBC_
    
  • 优先选择静态编译包:多数软件会提供静态编译版本,这类包将所有依赖打包在内,不依赖系统动态库,能有效避免版本不兼容问题。
  • 避免直接升级系统核心库:像GLIBC这类系统核心库直接升级风险极高,可能导致系统崩溃,除非有绝对必要,否则不建议操作。
  • 容器化隔离环境:在流水线中使用Docker容器,指定符合软件依赖要求的基础镜像(如Ubuntu 20.04),在容器内完成构建,彻底隔离宿主系统的依赖问题。
  • 查阅软件官方文档:确认软件对操作系统版本的最低要求,比如Node.js 18官方要求Ubuntu 20.04及以上版本,Ubuntu 18.04不在支持范围内,使用官方包自然会出现依赖缺失问题。

内容的提问来源于stack exchange,提问作者marschelpoet

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.08 06:31:21