CentOS 7 安装 Claude Code 指南

文章目录

    • 环境要求
    • 安装步骤
      • [1. 安装 Node.js 18(glibc-217 兼容版本)](#1. 安装 Node.js 18(glibc-217 兼容版本))
      • [2. 安装 Claude Code](#2. 安装 Claude Code)
      • [3. 验证 Claude Code 命令](#3. 验证 Claude Code 命令)
      • [4. 配置环境变量](#4. 配置环境变量)
      • [5. 配置 hosts 解析(AWS 环境)](#5. 配置 hosts 解析(AWS 环境))
      • [6. API 连通性验证](#6. API 连通性验证)
        • [方式一:curl 测试 API 端点](#方式一:curl 测试 API 端点)
        • [方式二:claude 命令行一次性提问](#方式二:claude 命令行一次性提问)
        • [方式三:claude 交互式验证(最可靠)](#方式三:claude 交互式验证(最可靠))
    • 常见问题

环境要求

  • 操作系统: CentOS 7 (glibc 2.17)
  • 架构: x86_64
  • 权限: root 权限

安装步骤

1. 安装 Node.js 18(glibc-217 兼容版本)

CentOS 7 自带 glibc 2.17,官方 Node.js 18+ 需要 glibc 2.28+,因此必须使用 unofficial-builds 提供的 glibc-217 兼容版本。

bash 复制代码
mkdir -p /opt/node18 \
&& curl -L https://unofficial-builds.nodejs.org/download/release/v18.20.8/node-v18.20.8-linux-x64-glibc-217.tar.xz \
| tar -xJ -C /opt/node18 --strip-components=1 \
&& echo 'export PATH=/opt/node18/bin:$PATH' >> /root/.bashrc \
&& export PATH=/opt/node18/bin:$PATH \
&& node --version && npm --version

注意: 下载约 23MB,从国内访问 unofficial-builds.nodejs.org 速度较慢(约 50-60KB/s),预计耗时 6-8 分钟。

2. 安装 Claude Code

bash 复制代码
export PATH=/opt/node18/bin:$PATH
npm install -g @anthropic-ai/claude-code

3. 验证 Claude Code 命令

先确认 claude 命令可正常执行(不需要环境变量):

bash 复制代码
export PATH=/opt/node18/bin:$PATH
claude --version
# 输出示例:2.1.142 (Claude Code)

4. 配置环境变量

确认 claude 命令正常后,再配置环境变量(幂等:先删旧行再追加):

bash 复制代码
sed -i '/ANTHROPIC_AUTH_TOKEN\|ANTHROPIC_BASE_URL\|ANTHROPIC_MODEL\|CLAUDE_CODE_DISABLE_EXPERIMENTAL_BETAS/d' /root/.bashrc \
&& echo 'export ANTHROPIC_AUTH_TOKEN=<TOKEN>' >> /root/.bashrc \
&& echo 'export ANTHROPIC_BASE_URL=http://brconnector-test.sheincorp.cn' >> /root/.bashrc \
&& echo 'export ANTHROPIC_MODEL=shannon-free' >> /root/.bashrc \
&& echo 'export CLAUDE_CODE_DISABLE_EXPERIMENTAL_BETAS=1' >> /root/.bashrc \
&& source /root/.bashrc \
&& echo 'env_set_ok'
环境变量说明
变量名 必填 说明 示例值
ANTHROPIC_AUTH_TOKEN API 认证 Token,由平台管理员提供 sk-xxxx
ANTHROPIC_BASE_URL Claude Code 请求的 API 端点地址 http://brconnector-test.sheincorp.cn
ANTHROPIC_MODEL 指定使用的模型,不设则使用默认模型 shannon-free
CLAUDE_CODE_DISABLE_EXPERIMENTAL_BETAS 设为 1 禁用实验性 beta 功能,避免不稳定 1

ANTHROPIC_BASE_URL 是 Anthropic API 兼容代理地址(如 brconnector),Claude Code 的所有 AI 请求都发往此端点。不设此项则默认请求 Anthropic 官方 API(需要能访问公网)。

5. 配置 hosts 解析(AWS 环境)

AWS DNS 无法解析 brconnector 内网域名,需添加 hosts:

bash 复制代码
sed -i '/brconnector-test.sheincorp.cn/d' /etc/hosts \
&& echo '10.131.215.90 brconnector-test.sheincorp.cn' >> /etc/hosts \
&& grep brconnector /etc/hosts

6. API 连通性验证

环境变量配置完成后,验证 Claude Code 能否正常请求 API 端点:

方式一:curl 测试 API 端点
bash 复制代码
curl -s -o /dev/null -w "HTTP状态码: %{http_code}\n耗时: %{time_total}s\n" \
  -X POST "${ANTHROPIC_BASE_URL}/v1/messages" \
  -H "Content-Type: application/json" \
  -H "x-api-key: ${ANTHROPIC_AUTH_TOKEN}" \
  -d '{"model":"claude-sonnet-4-6","max_tokens":10,"messages":[{"role":"user","content":"hi"}]}'
  • 返回 401: Token 无效或未配置
  • 返回 404: BASE_URL 地址错误
  • 返回 200: API 连通正常
方式二:claude 命令行一次性提问
bash 复制代码
export PATH=/opt/node18/bin:$PATH
echo "hello" | claude -p --max-tokens 50 2>&1 | head -20
  • 正常返回 AI 回复内容即表示成功
  • 若报错 401 Unauthorized: Token 无效
  • 若报错 ECONNREFUSEDName or service not known: 网络不通或 BASE_URL 错误
  • 若报错 getaddrinfo ENOTFOUND: 域名解析失败,需配置 hosts
方式三:claude 交互式验证(最可靠)
bash 复制代码
export PATH=/opt/node18/bin:$PATH
source /root/.bashrc
claude

进入交互界面后输入任意内容,能正常收到回复即表示完全正常。

常见问题

现象 原因 解决
GLIBC_2.27 not found 使用了官方 Node.js 包 改用 unofficial-builds glibc-217 版本
Class extends value undefined npm 多版本混装 安装到独立目录 /opt/node18
DNS 解析 sheincorp.cn 失败 AWS 内网 DNS 无公司域名 添加 /etc/hosts 条目
下载 Node.js 超时 国内访问 unofficial-builds 慢 增大超时时间(900s),或本地下载后上传
401 Unauthorized Token 无效或过期 联系管理员获取新 Token
ECONNREFUSED BASE_URL 不可达 检查网络和 BASE_URL 配置
相关推荐
戴为沐19 小时前
Linux内存扩容指南
linux
zylyehuo1 天前
Linux 彻底且安全地删除文件
linux
用户805533698032 天前
主线 U-Boot 上 RK3506:和闭源 rkbin 拔河的三个隐性契约
linux·嵌入式
用户034095297912 天前
linux fcitx 5 雾凇拼音 设置在中文输入法下仍然输入英文标点
linux
乘云数字DATABUFF2 天前
5分钟部署开源APM Databuff:OpenTelemetry全链路追踪入门实战
运维·后端
Web3探索者4 天前
可视化服务器管理和传统命令行区别是什么?新手教程:Linux 运维到底该用图形界面还是 SSH 命令行?
linux·ssh
zylyehuo4 天前
Linux系统中网线与USB网络共享冲突
linux
荣--4 天前
一键部署不是为了省时间 —— 它是把"买来的 PaaS"变成"自己的平台"的拐点
运维·zabbix·工程化·一键部署·平台化·边界设计
江华森4 天前
动手实战学 Docker — 从零到集群编排完全指南
运维
Avan_菜菜4 天前
FRP 内网穿透完整实战:从 HTTP 映射到 HTTPS 自签代理
运维·nginx·https