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

如何卸载npm v18并回退旧版本?解决GLIBC版本缺失报错

解决方法:卸载npm v18并回退旧版本

你的问题核心是Node.js v18(npm v18对应Node.js v18)依赖的GLIBC版本高于系统现有版本,导致Node/npm完全无法运行,必须绕过npm命令,通过手动删除或系统工具处理:

分场景处理

场景1:用nvm管理Node版本

如果之前是通过nvm安装的Node/npm:

  • 执行nvm ls查看已安装的版本列表(nvm是shell脚本,不依赖Node运行)
  • 直接切换到旧版本:nvm use <旧版本号>(例如nvm use 16)
  • 如果切换失败,手动删除v18的目录:
    rm -rf ~/.nvm/versions/node/v18.*
    
    之后重新执行nvm use <旧版本>,并设置为默认版本:nvm alias default <旧版本>

场景2:全局直接安装(通过npm install -g npm@18)

由于npm/Node已无法运行,手动删除相关文件:

  1. 找到Node/npm的安装路径:
    which node  # 输出示例:/usr/local/bin/node
    which npm   # 输出示例:/usr/local/bin/npm
    
  2. 删除相关文件和目录:
    sudo rm -f /usr/local/bin/node /usr/local/bin/npm /usr/local/bin/npx
    sudo rm -rf /usr/local/lib/node_modules/npm
    
  3. 重新安装兼容旧版本:
    下载与系统GLIBC版本匹配的Node.js旧版本(例如v16.x LTS),解压后将node和npm可执行文件复制到/usr/local/bin,或通过系统包管理器安装。

场景3:系统包管理器安装(apt/yum等)

用系统包管理器卸载当前版本,再安装兼容旧版本:

  • Debian/Ubuntu:
    sudo apt remove --purge nodejs npm
    # 添加Node.js v16源后安装
    curl -fsSL https://deb.nodesource.com/setup_16.x | sudo -E bash -
    sudo apt install nodejs
    
  • CentOS/RHEL:
    sudo yum remove nodejs npm
    # 添加Node.js v16源后安装
    curl -fsSL https://rpm.nodesource.com/setup_16.x | sudo bash -
    sudo yum install nodejs
    

关键提示

重新安装时务必选择与系统GLIBC版本兼容的Node版本:Node.js v18要求GLIBC 2.27+,如果系统GLIBC版本低于此,最高兼容版本为Node.js v16。

内容的提问来源于stack exchange,提问作者M.Koops

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.06 21:01:05