背景
问题
虽然 Claude Code 官方声明支持 CentOS 7+,但系统 CentOS 7.9 存在一个关键的技术限制:系统核心库 glibc 版本为 2.17,而官方 Node.js 18+ 需要 glibc 2.27 或更高版本 。如果直接安装官方 Node.js,会报错 GLIBC_2.27 not found。并且在公司服务器场景下无法联网,相关依赖需要离线安装。
解决思路
使用专门为旧版 glibc 编译的 Node.js 版本(由 unofficial-builds 提供)。如果服务器(CentOS 7)无法联网,则需要先离线下载兼容的NodeJS及Claude Code,整个安装分为两个阶段:
- 在线准备阶段(在联网的linux上执行):下载 Node.js 兼容版和 Claude Code 及其依赖,打包成离线安装包
- 离线安装阶段(在 CentOS 7 上执行):解压安装包,配置环境变量,安装 Node.js 和 Claude Code
一、离线安装包内容
最终生成的离线安装包包含:
centos7-claude-code-2.1.89-installer.tar.gz--- Claude Code 2.1.89及依赖install-offline-centos7.sh--- 自动化安装脚本(推荐)
快速安装(推荐)
将centos7-claude-code-2.1.89-installer.tar.gz和install-offline-centos7.sh拷贝到服务器同级目录下,直接执行自动化安装:
bash
chmod +x install-offline-centos7.sh
./install-offline-centos7.sh
脚本会依次完成:解压安装包 → 安装 Node.js → 配置 npm → 安装 Claude Code → 创建软链接 → 验证安装 → 配置模型连接
二、准备工作(在联网的 Ubuntu/WSL 上执行)
2.1 创建工作目录
bash
mkdir -p ~/claude-offline-v2.1.89
cd ~/claude-offline-v2.1.89
2.2 下载 Node.js 兼容版(适用于 CentOS 7)
bash
wget https://unofficial-builds.nodejs.org/download/release/v18.19.0/node-v18.19.0-linux-x64-glibc-217.tar.gz
2.3 下载 Claude Code 及其依赖
bash
# 创建临时项目目录
mkdir temp-project
cd temp-project
# 初始化 package.json
npm init -y
# 安装指定版本的 Claude Code(使用淘宝镜像加速)
npm install @anthropic-ai/claude-code@2.1.89 --registry=https://registry.npmmirror.com
2.4 验证安装
bash
# 确认文件存在
ls -la node_modules/@anthropic-ai/claude-code/
# 应该看到 cli.js 等文件
2.5 打包离线文件
bash
# 回到工作目录
cd ~/claude-offline-v2.1.89
# 打包 Claude Code 依赖
tar -czf claude-code-2.1.89-complete.tar.gz temp-project/
# 打包最终安装包
tar -czf centos7-claude-code-2.1.89-installer.tar.gz \
node-v18.19.0-linux-x64-glibc-217.tar.gz \
claude-code-2.1.89-complete.tar.gz
三、传输安装包
将 centos7-claude-code-2.1.89-installer.tar.gz 通过以下任一方式传输到 CentOS 服务器:
四、离线安装(在 CentOS 7 上执行)
方式一:自动化安装(推荐)
使用 install-offline-centos7.sh 脚本一键完成安装:
bash
cd ~
tar -xzvf centos7-claude-code-2.1.89-installer.tar.gz
chmod +x install-offline-centos7.sh
./install-offline-centos7.sh
脚本会自动完成以下步骤:
- 检查安装包
- 解压安装包
- 安装 Node.js(适用于 CentOS 7 的 glibc 2.17 兼容版)
- 配置 npm 用户级目录
- 安装 Claude Code 到 npm 全局目录
- 创建软链接
- 验证安装
- 配置本地模型连接(可选)
方式二:手动安装
如果不想使用脚本,可手动执行以下步骤:
4.1 解压安装包
bash
cd ~
tar -xzvf centos7-claude-code-2.1.89-installer.tar.gz
4.2 安装 Node.js
bash
# 解压 Node.js
tar -xzvf node-v18.19.0-linux-x64-glibc-217.tar.gz
mkdir -p ~/local
mv node-v18.19.0-linux-x64-glibc-217 ~/local/nodejs
# 配置环境变量
echo 'export PATH="$HOME/local/nodejs/bin:$PATH"' >> ~/.bashrc
source ~/.bashrc
# 验证安装
node --version # 应输出 v18.19.0
4.3 配置 npm 用户级目录
bash
# 创建用户级 npm 全局目录
mkdir -p ~/.npm-global
# 配置 npm prefix
npm config set prefix ~/.npm-global
# 添加到 PATH
echo 'export PATH="$HOME/.npm-global/bin:$PATH"' >> ~/.bashrc
source ~/.bashrc
4.4 解压 Claude Code
bash
# 清理可能存在的旧文件
rm -rf ~/.npm-global/node_modules/@anthropic-ai
# 创建临时目录解压
mkdir -p /tmp/claude-extract
cd /tmp/claude-extract
tar -xzvf ~/claude-code-2.1.89-complete.tar.gz
# 复制到 npm 全局目录
cp -r temp-project/node_modules/@anthropic-ai ~/.npm-global/node_modules/
# 清理临时目录
cd ~
rm -rf /tmp/claude-extract
4.5 验证文件存在
bash
ls -la ~/.npm-global/node_modules/@anthropic-ai/claude-code/
# 应该看到 cli.js 文件
4.6 创建软链接
bash
# 创建软链接(v2.1.89 入口文件为 cli.js)
ln -sf ~/.npm-global/node_modules/@anthropic-ai/claude-code/cli.js ~/.npm-global/bin/claude
chmod +x ~/.npm-global/bin/claude
4.7 验证安装
bash
# 测试版本
claude --version
# 应输出 v2.1.89
4.8 配置本地模型连接(可选)
如果使用本地模型服务,需要配置连接信息:
bash
mkdir -p ~/.claude
cat > ~/.claude/settings.json << EOF
{
"env": {
"ANTHROPIC_BASE_URL": "http://localhost:8001",
"ANTHROPIC_AUTH_TOKEN": "your-local-token",
"ANTHROPIC_MODEL": "your-default-model",
"ANTHROPIC_DEFAULT_OPUS_MODEL": "opus",
"ANTHROPIC_DEFAULT_SONNET_MODEL": "sonnet",
"ANTHROPIC_DEFAULT_HAIKU_MODEL": "haiku"
}
}
EOF
配置项说明:
| 环境变量 | 说明 | 示例值 |
|---|---|---|
ANTHROPIC_BASE_URL |
模型服务地址 | http://localhost:8001 |
ANTHROPIC_AUTH_TOKEN |
API Token | your-local-token |
ANTHROPIC_MODEL |
默认模型 | claude-opus-4-7 |
ANTHROPIC_DEFAULT_OPUS_MODEL |
默认 Opus 模型 | opus |
ANTHROPIC_DEFAULT_SONNET_MODEL |
默认 Sonnet 模型 | sonnet |
ANTHROPIC_DEFAULT_HAIKU_MODEL |
默认 Haiku 模型 | haiku |
提示: 使用自动化脚本安装时,安装过程会提示输入模型配置信息。