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

NGINX服务器登录后Node报GLIBC_2.28缺失,需重复安装问题求助

解决Node依赖GLIBC_2.28缺失及重启后失效问题

核心问题分析

  • 系统自带的GLIBC版本低于2.28,全局安装的官方预编译Node包依赖高版本GLIBC,因此触发报错。
  • 用nvm安装Node后,若未配置环境变量持久化,VPS重启后nvm的Node路径不会自动加载,导致系统找不到Node,pm2也随之失效。

分步解决方案

1. 安装兼容低GLIBC的Node版本

不要用官方预编译包,改用针对低GLIBC版本编译的Node包,或者通过nvm源码编译:

  • 用nvm安装时指定源码编译(适配旧系统):
    nvm install <node版本号> --reinstall-packages-from=<node版本号> --compile
    
    示例(安装Node 16.x):
    nvm install 16 --reinstall-packages-from=16 --compile
    
  • 可选:选择本身依赖GLIBC版本较低的Node分支,比如Node 16.x及以下部分版本对GLIBC要求更低(可提前确认对应Node版本的依赖说明)。

2. 持久化nvm环境变量

编辑~/.bashrc(若使用zsh则编辑~/.zshrc),添加以下内容,确保重启后自动加载nvm:

export NVM_DIR="$HOME/.nvm"
[ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh"  # 加载nvm核心脚本
[ -s "$NVM_DIR/bash_completion" ] && \. "$NVM_DIR/bash_completion"  # 可选,启用命令自动补全

执行命令让配置立即生效:

source ~/.bashrc

3. 设置默认Node版本

用nvm设置默认版本,确保每次登录Shell都自动使用该版本:

nvm alias default <你的Node版本号>

示例:

nvm alias default 16

4. 配置pm2随系统自启动并关联正确Node

  • 确保pm2安装在nvm默认的Node环境下:
    npm install -g pm2
    
  • 生成pm2系统启动脚本:
    pm2 startup
    
    执行后会输出一段注册服务的指令,复制并执行该指令完成系统服务注册。
  • 保存当前pm2进程列表,确保重启后自动恢复:
    pm2 save
    

5. 验证配置

重启VPS后,执行以下命令验证:

node -v
pm2 list

若能正常显示Node版本和pm2进程列表,说明配置全部生效。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.08 15:15:38