当前位置:首页>Linux>【能力建设】Linux 老系统装不上 Claude Code / Codex?一篇搞定

【能力建设】Linux 老系统装不上 Claude Code / Codex?一篇搞定

  • 2026-09-10 15:51:36
【能力建设】Linux 老系统装不上 Claude Code / Codex?一篇搞定

Linux 老系统装不上 Claude Code / Codex?一篇搞定

很多同学在服务器上尝试安装 Claude Code 或 OpenAI Codex 时,会遇到 GLIBC_2.25 not found 之类的报错,甚至连网都连不上。本文从网络配置到安装方法,手把手带你用最简单的方式解决这两个问题——全程不需要 root 权限。


一、问题描述

如果你的 Linux 服务器系统比较老(比如 CentOS 7),直接运行官方安装脚本大概率会碰到两堵墙:

第一堵墙:网络不通。 服务器无法直接访问 claude.ai、openai.com 等域名,安装脚本根本跑不起来。

第二堵墙:系统库版本太低。 即使网络通了,官方二进制文件依赖较新的 GLIBC(≥ 2.25),而 CentOS 7 自带的是 GLIBC 2.17,直接报错:

curl -fsSL https://claude.ai/install.sh | bashSetting up Claude Code.../home/anwy/.claude/downloads/claude-2.1.94-linux-x64: /lib64/libc.so.6: version `GLIBC_2.18' not found (required by /home/anwy/.claude/downloads/claude-2.1.94-linux-x64)/home/anwy/.claude/downloads/claude-2.1.94-linux-x64: /lib64/libc.so.6: version `GLIBC_2.24' not found (required by /home/anwy/.claude/downloads/claude-2.1.94-linux-x64)/home/anwy/.claude/downloads/claude-2.1.94-linux-x64: /lib64/libc.so.6: version `GLIBC_2.25' not found (required by /home/anwy/.claude/downloads/claude-2.1.94-linux-x64)

下面分两步各个击破。


二、解决网络问题:让服务器流量走代理

核心思路:你的本地电脑(Windows / Mac)已经具备了正常的网络访问能力,只需要把服务器的流量转发到本地电脑即可。根据你的网络环境不同,有两种方案可选。

方案 A:同一局域网——直接配置代理(最简单)

适用场景: 你的本地电脑和 Linux 服务器在同一个内网中(比如都连着公司网络或实验室网络),彼此之间可以直接通过内网 IP 互相访问。

第一步:本地电脑端配置

打开你正在使用的网络工具,找到类似"允许局域网连接"的选项并开启,然后记下对应的端口号(常见的默认端口是 7890 或 xxxx,不同工具可能不同)。

同时确认本地防火墙放行了该端口。Windows 用户(管理员)可以在 PowerShell 中执行:

netsh advfirewall firewall add rule name="Proxy" dir=in action=allow protocol=TCP localport=xxxx

然后查看本地电脑在局域网中的 IP 地址。Windows 上在 PowerShell 中运行 ipconfig,找到以太网适配器对应的 IPv4 地址,例如 172.0.0.0。

第二步:Linux 服务器端配置

在服务器上设置环境变量,让 HTTP/HTTPS 流量走本地电脑的代理。假设本地电脑 IP 为 172.0.0.0,端口为 xxxx:

export http_proxy=http://172.0.0.0:xxxxexport https_proxy=http://172.0.0.0:xxxxexport all_proxy=socks5://172.0.0.0:xxxx

验证一下是否生效:

curl -I https://www.google.comHTTP/1.1 200 Connection establishedHTTP/1.1 200 OKContent-Type: text/html; charset=ISO-8859-1

如果返回 HTTP/1.1 200 或 HTTP/2 200,说明网络已经打通了。

第三步:持久化(可选)

如果你希望每次登录服务器都自动生效,可以把上面三行写入 ~/.bashrc:

cat >> ~/.bashrc << 'EOF'export http_proxy=http://172.0.0.0:xxxxexport https_proxy=http://172.0.0.0:xxxxexport all_proxy=socks5://172.0.0.0:xxxxEOFsource ~/.bashrc

方案 B:不在同一局域网——SSH 端口转发

适用场景: 你的 Linux 是远程云服务器(比如阿里云、腾讯云、AWS),和你的本地电脑不在同一个内网中。这时候服务器直接填你本地电脑的 IP 是访问不通的,因为你的电脑藏在路由器后面,没有公网 IP。

这种情况下,我们可以借助 SSH 连接本身来"开一条隧道",把本地电脑的代理端口映射到服务器上。

原理简述

正常情况下,你已经在用 SSH 连接远程服务器了。SSH 除了让你敲命令,还支持端口转发功能——可以让服务器上的某个端口,通过这条 SSH 连接,"穿越"到你本地电脑的某个端口上。这样服务器访问自己的 127.0.0.1:xxxx,流量就会顺着 SSH 隧道转发到你本地电脑的 xxxx 端口,再从本地电脑走代理出去。

SSH端口转发示意图

第一步:本地电脑端配置

和方案 A 一样,打开你网络工具的"允许局域网连接",记下端口号(例如 xxxx)。

这里有一个区别:方案 A 中代理需要监听局域网 IP,而方案 B 中代理只需要监听本机(127.0.0.1)就够了,因为 SSH 隧道连接的是你本地的 localhost。

第二步:建立 SSH 隧道

方式一:命令行

在本地电脑的终端中(Windows 可以用 PowerShell 或 cmd),运行:

ssh -R xxxx:127.0.0.1:xxxx user@your-server-ip

这条命令做了两件事:像平时一样 SSH 登录服务器,同时把服务器上的 xxxx 端口转发到你本地电脑的 127.0.0.1:xxxx。登录之后的终端就可以直接用了。

第三步:Linux 服务器端配置

隧道建立之后,服务器上的环境变量要指向 本机地址(因为隧道的出口就在本机上):

export http_proxy=http://127.0.0.1:xxxxexport https_proxy=http://127.0.0.1:xxxxexport all_proxy=socks5://127.0.0.1:xxxx

同样用 curl -I https://www.google.com 测试,通了就可以进入下一步了。

注意: SSH 隧道只在当前 SSH 连接存活期间有效。如果你断开了 SSH 重连,需要确保端口转发也一并重新建立。


方案选择小结

情况
推荐方案
代理地址
本地电脑和服务器在同一个内网
方案 A(直接填 IP)
http://本机IP:端口
服务器在远程云上
方案 B(SSH 端口转发)
http://127.0.0.1:端口

三、解决 GLIBC 版本问题:用 Conda + npm 安装

网络通了以后,千万不要直接用官方的一键脚本——它下载的是预编译二进制文件,对 GLIBC 版本有硬性要求。我们换一条路:通过 npm 安装,对系统库的要求宽松得多,而且完全不需要 root。

3.1 安装 Node.js(如果还没有的话)

如果服务器上已经有 Conda(Anaconda 或 Miniconda),直接用 Conda 装 Node.js:

# 建一个干净的环境(也可以直接装在 base 里)mamba create -n ai-tools python=3.11 nodejs=20 -ymamba activate ai-toolsmamba install -c conda-forge nodejs=20Looking for: ['nodejs=20']

3.2 安装 Claude Code

npm install -g @anthropic-ai/claude-code

安装完成后直接运行:

claude

首次启动会引导你登录账号并完成授权,之后就可以在终端里愉快地使用了。

claude code 启动界面

3.3 安装 OpenAI Codex(思路相同)

Codex CLI 同样是一个 npm 包:

npm install -g @openai/codex

安装后运行 codex 即可启动。

codex启动界面

四、常见问题速查

Q:设置了代理但 curl 还是超时?

首先确认本地电脑的"允许局域网连接"确实打开了;其次检查防火墙是否放行了对应端口;最后确认 IP 地址没有写错——用 ping 172.0.0.0(替换为你的实际 IP)测试基础连通性。

Q:npm install 时报权限错误?

这通常是因为 npm 全局目录指向了系统路径。用 Conda 环境可以自动规避这个问题。如果使用 nvm 安装的 Node.js,权限也不会有问题。

Q:能不能直接升级系统的 GLIBC?

强烈不建议。GLIBC 是系统底层核心库,手动升级极易导致系统崩溃,而且通常需要 root 权限。用 Conda + npm 的方案才是最安全的路径。

Q:每次都要手动 activate 环境?

可以在 ~/.bashrc 中加一行 conda activate ai-tools,这样登录就自动进入对应环境。

Q:SSH 隧道断开后代理就失效了怎么办?

SSH 端口转发依赖于 SSH 连接本身。如果你用 Termius 并且配置好了端口转发规则,每次重连都会自动建立隧道。如果是命令行方式,可以考虑使用 autossh 工具来保持隧道常连。


五、总结

整个流程其实就三步:

  1. 配置代理——如果同一局域网,直接填 IP;如果是远程服务器,用 SSH 端口转发打通隧道。
  2. 用 Conda 装 Node.js——绕开系统自带的老旧 GLIBC。
  3. 用 npm 安装工具——一行命令搞定 Claude Code 或 Codex。

全程不需要 root 权限,不需要编译任何东西,也不需要动系统底层库。希望这篇文章能帮到遇到同样问题的你。

撰稿:安万阳审核:宋雨婷发布:许林锋

最新文章

随机文章