Claude Code 在 Ubuntu 18.04 上的 Node/glibc 问题处理笔记
一、问题背景
在 Ubuntu 18.04 上执行:
`npm install -g @anthropic-ai/claude-code`
出现报错:`GLIBC_2.28 not found`。
继续检查后发现:
`node -v` 也会报同样的 `GLIBC_2.28 not found`,说明问题不在 npm,而在当前使用的 Node 二进制本身。
二、根因分析
1. Ubuntu 18.04 自带 glibc 版本为 2.27。
2. 当前 `node` 来自:`~/.nvm/versions/node/v18.20.8/bin/node`。
3. 这个 Node 18 虽然是通过 nvm 切换出来的,但仍然是官方预编译版本。
4. 官方预编译版 Node 18 在当前环境下要求 glibc 2.28 及以上。
5. 因此,这不是 PATH 配置错误,也不是 npm 本身的问题,而是 Node 二进制与系统 glibc 版本不兼容。
三、处理思路
不升级系统 glibc,改为使用兼容老系统的 Node 18 发行版。
采用方案:
使用 unofficial-builds 提供的 glibc 2.17 兼容版 Node 18。
四、处理过程
阶段 1:定位问题
- `npm install -g @anthropic-ai/claude-code` 报错:`GLIBC_2.28 not found`
- `node -v` 也报同样错误
- 结论:Node 本体不兼容 Ubuntu 18.04
阶段 2:确认 Node 来源
- `type -a node`
- 输出显示当前 `node` 来自:`~/.nvm/versions/node/v18.20.8/bin/node`
- 结论:虽然是 nvm 管理的 Node 18,但仍然依赖更高版本 glibc
阶段 3:改用兼容版 Node 18
- 选择 unofficial-builds 的 `glibc-217` 版本
- 将文件复制到本地目录:`~/.local/node18/`
示例命令:
`cp -r node-v18.20.8-linux-x64-glibc-217/* ~/.local/node18/`
阶段 4:修复 PATH
复制完成后,如果执行 `node -v` 提示:`Command 'node' not found`,说明系统还没有找到新安装目录中的二进制文件。
临时处理命令:
`export PATH="$HOME/.local/node18/bin:$PATH"`
执行后再次检查:
- `node -v`
- `npm -v`
如果都能正常输出,说明本地 Node 18 环境已经生效。
阶段 5:安装 Claude Code
重新执行:
`npm install -g @anthropic-ai/claude-code`
如果安装过程中不再出现 glibc 报错,就说明兼容版 Node 18 可以正常工作,Claude Code 也能正常安装。
五、最终结果
1. 已确认根因是官方 Node 18 预编译版本与 Ubuntu 18.04 的 glibc 2.27 不兼容。
2. 使用 unofficial-builds 的 glibc 2.17 兼容版 Node 18 后,`node` 与 `npm` 可正常运行。
3. 在该环境下重新安装 Claude Code 成功。
六、永久生效设置
临时执行 `export PATH=...` 只在当前终端有效。
如果希望以后每次打开终端都能直接使用该 Node 18,需要把 PATH 配置写入 `~/.bashrc`:
`export PATH="$HOME/.local/node18/bin:$PATH"`
写入后执行:
`source ~/.bashrc`
七、结论
在 Ubuntu 18.04 上,如果官方 Node 18 报 `GLIBC_2.28 not found`,不要优先怀疑 npm,也不要直接升级 glibc。
更稳妥的做法是:
1. 先确认 `node -v` 是否同样报错;
2. 确认当前 Node 来源;
3. 改用兼容老系统的 unofficial-builds Node 18;
4. 补充 PATH;
5. 再安装 Claude Code。
这样可以在不升级系统核心库的前提下,继续在 Ubuntu 18.04 上使用 Claude Code。
先配置环境变量:
echo 'export ANTHROPIC_BASE_URL="你的API_URL"' >> ~/.bashrc
echo 'export ANTHROPIC_AUTH_TOKEN="你的API_Token"' >> ~/.bashrc
source ~/.bashrc
然后才能用
更多推荐




所有评论(0)