Claude Code 安装并接入 DeepSeek-V4-Pro 指南 (CentOS)
Claude Code 安装并接入 DeepSeek-V4-Pro 指南 (CentOS)
本文档详细记录在 CentOS 7/8/9 及 RHEL 系统上安装 Claude Code 并配置使用 DeepSeek-V4-Pro 模型的完整步骤。
常见问题快速跳转
- 401 认证失败 / API Key 无效
claude命令未识别- 网络错误 / 无法连接
- 安装权限错误
- 模型找不到
- Node.js 版本过低
- 中文乱码
- 请求超时
- 防火墙/安全组拦截
- GLIBC 版本过低 (CentOS 7)
一、前置条件
1.1 系统版本要求
| CentOS / RHEL 版本 | 支持状态 | Node.js 最高版本 | 备注 |
|---|---|---|---|
| CentOS 9 / RHEL 9 | 完全支持 | 最新 LTS | 推荐 |
| CentOS 8 / RHEL 8 | 完全支持 | 最新 LTS | 推荐 |
| CentOS 7 / RHEL 7 | 受限支持 | ≤ 20.x | GLIBC 版本较低,需特殊处理 |
| CentOS 6 / RHEL 6 | 不支持 | 无法安装 | GLIBC 过旧 |
建议: 使用 CentOS 8+ 或 RHEL 8+ 以获得最佳体验。CentOS 7 需要额外步骤升级 GLIBC 或使用容器方案。
1.2 安装 Node.js
Claude Code 基于 Node.js 运行,需要 Node.js ≥ 18.x。
方式一:NodeSource 官方仓库安装(推荐)
CentOS 9 / RHEL 9 / CentOS 8 / RHEL 8:
# 安装 Node.js 22.x LTS
curl -fsSL https://rpm.nodesource.com/setup_22.x | sudo bash -
sudo dnf install -y nodejs
CentOS 7 / RHEL 7:
# CentOS 7 最高支持 Node.js 20.x(GLIBC 限制)
curl -fsSL https://rpm.nodesource.com/setup_20.x | sudo bash -
sudo yum install -y nodejs
方式二:nvm 安装(推荐用于多版本管理)
# 安装 nvm
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.40.1/install.sh | bash
# 重新加载 shell 配置
source ~/.bashrc
# 查看可用的 Node.js 版本
nvm list-remote --lts
# 安装 LTS 版本
nvm install 22
# 设为默认版本
nvm alias default 22
# 验证安装
node --version # 应输出 v22.x
npm --version # 应输出 10.x
验证安装
node --version # 应输出 v18.x / v20.x / v22.x 等
npm --version # 应输出 9.x / 10.x / 11.x 等
which node # 确认 node 路径
which npm # 确认 npm 路径
注意: 安装完成后需要重新登录或执行
source ~/.bashrc,否则node命令可能无法识别。
1.3 CentOS 7 的 GLIBC 问题处理
CentOS 7 自带的 GLIBC 版本为 2.17,而 Node.js 20+ 可能需要更高版本。以下提供两种解决思路:
方案一:使用 Node.js 18.x(稳定兼容)
curl -fsSL https://rpm.nodesource.com/setup_18.x | sudo bash -
sudo yum install -y nodejs
方案二:使用 Docker 容器(推荐)
# 拉取 CentOS 8 或 Ubuntu 镜像运行 Claude Code
sudo docker run -it --rm \
-e ANTHROPIC_BASE_URL=https://api.deepseek.com/anthropic \
-e ANTHROPIC_MODEL=deepseek-v4-pro \
-e ANTHROPIC_AUTH_TOKEN=sk-你的API-Key \
-v $(pwd):/workspace \
-w /workspace \
node:22 bash
1.4 依赖安装失败的兜底方案
若通过包管理器安装因网络或权限原因失败,可手动安装:
# 方案一:下载 Node.js 二进制包手动安装
wget https://nodejs.org/dist/v22.12.0/node-v22.12.0-linux-x64.tar.xz
tar -xJf node-v22.12.0-linux-x64.tar.xz
sudo cp -r node-v22.12.0-linux-x64/{bin,include,lib,share} /usr/local/
# 方案二:通过 n 版本管理器安装
sudo npm install -g n
sudo n lts
二、安装 Claude Code
有三种方式可选,推荐方式一。
方式一:npm 全局安装(推荐,所有 CentOS 版本通用)
国内用户建议先用淘宝镜像加速:
# 临时使用淘宝镜像安装(推荐)
npm install -g @anthropic-ai/claude-code --registry=https://registry.npmmirror.com
# 或者永久配置淘宝镜像后再安装
npm config set registry https://registry.npmmirror.com
npm install -g @anthropic-ai/claude-code
如果是全局安装(需要 sudo):
# 使用 sudo 时需保留 npm 配置
sudo npm install -g @anthropic-ai/claude-code --registry=https://registry.npmmirror.com
方式二:使用 npx 直接运行(无需全局安装)
# 每次运行时从 npm 获取最新版本
npx @anthropic-ai/claude-code
方式三:下载二进制包手动安装
# 下载最新版本(检查 https://github.com/anthropics/anthropic-cli/releases 获取最新链接)
wget https://github.com/anthropics/anthropic-cli/releases/latest/download/claude-code-linux-amd64.tar.gz
tar -xzf claude-code-linux-amd64.tar.gz
sudo mv claude-code /usr/local/bin/claude
sudo chmod +x /usr/local/bin/claude
验证安装:
claude --version
# 应输出类似: 2.x.x (Claude Code)
三、配置 DeepSeek API
3.1 获取 DeepSeek API Key
- 访问 DeepSeek 开放平台
- 注册/登录账号
- 进入 API Keys 页面,点击 创建 API Key
- 复制保存生成的
sk-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx密钥
注意: API Key 只会在创建时显示一次,务必及时保存!
3.2 配置环境变量
需要设置三个环境变量,让 Claude Code 将请求路由到 DeepSeek 的 Anthropic 兼容端点。
方式一:写入 Shell 配置文件(推荐,永久生效)
将以下内容追加到 ~/.bashrc(或 ~/.bash_profile):
# === 替换为你自己的 API Key ===
cat >> ~/.bashrc << 'EOF'
# === Claude Code + DeepSeek 配置 ===
export ANTHROPIC_BASE_URL="https://api.deepseek.com/anthropic"
export ANTHROPIC_MODEL="deepseek-v4-pro"
export ANTHROPIC_AUTH_TOKEN="sk-你的DeepSeek-API-Key"
EOF
# 立即生效
source ~/.bashrc
如果你使用 Zsh:
cat >> ~/.zshrc << 'EOF'
# === Claude Code + DeepSeek 配置 ===
export ANTHROPIC_BASE_URL="https://api.deepseek.com/anthropic"
export ANTHROPIC_MODEL="deepseek-v4-pro"
export ANTHROPIC_AUTH_TOKEN="sk-你的DeepSeek-API-Key"
EOF
source ~/.zshrc
方式二:创建独立配置文件(多用户/多环境推荐)
# 创建独立配置文件
cat > ~/.claude-deepseek.env << 'EOF'
export ANTHROPIC_BASE_URL="https://api.deepseek.com/anthropic"
export ANTHROPIC_MODEL="deepseek-v4-pro"
export ANTHROPIC_AUTH_TOKEN="sk-你的DeepSeek-API-Key"
EOF
# 在 ~/.bashrc 中引用它
echo 'source ~/.claude-deepseek.env' >> ~/.bashrc
source ~/.bashrc
# 设置安全权限(防止其他用户读取 API Key)
chmod 600 ~/.claude-deepseek.env
方式三:手动编辑环境变量文件
# 使用 vi/vim 或 nano 编辑
vi ~/.bashrc
# 在文件末尾添加以下三行:
export ANTHROPIC_BASE_URL="https://api.deepseek.com/anthropic"
export ANTHROPIC_MODEL="deepseek-v4-pro"
export ANTHROPIC_AUTH_TOKEN="sk-你的DeepSeek-API-Key"
# 保存后重新加载
source ~/.bashrc
方式四:临时生效(仅当前终端会话)
export ANTHROPIC_BASE_URL="https://api.deepseek.com/anthropic"
export ANTHROPIC_MODEL="deepseek-v4-pro"
export ANTHROPIC_AUTH_TOKEN="sk-你的DeepSeek-API-Key"
方式五:系统级环境变量(所有用户生效)
# 方式A:编辑 /etc/environment(需要 root 权限)
sudo tee -a /etc/environment << 'EOF'
ANTHROPIC_BASE_URL=https://api.deepseek.com/anthropic
ANTHROPIC_MODEL=deepseek-v4-pro
ANTHROPIC_AUTH_TOKEN=sk-你的DeepSeek-API-Key
EOF
# 方式B:通过 /etc/profile.d 脚本(推荐方式,更规范)
sudo tee /etc/profile.d/claude-code.sh << 'EOF'
# Claude Code + DeepSeek 环境变量
export ANTHROPIC_BASE_URL=https://api.deepseek.com/anthropic
export ANTHROPIC_MODEL=deepseek-v4-pro
export ANTHROPIC_AUTH_TOKEN=sk-你的DeepSeek-API-Key
EOF
sudo chmod 644 /etc/profile.d/claude-code.sh
# 重新登录后生效
验证环境变量
echo $ANTHROPIC_BASE_URL # https://api.deepseek.com/anthropic
echo $ANTHROPIC_MODEL # deepseek-v4-pro
# 仅显示前几位,避免泄露
echo $ANTHROPIC_AUTH_TOKEN | sed 's/\(sk-\).*\(.\{4\}\)/\1***\2/'
3.3 多环境切换(开发/测试/生产)
若需要在不同环境和 API Key 之间切换:
# 方式一:创建多个配置文件
cat > ~/.claude-dev.env << 'EOF'
export ANTHROPIC_AUTH_TOKEN="sk-测试环境API-Key"
export ANTHROPIC_MODEL="deepseek-v4-pro-test"
EOF
cat > ~/.claude-prod.env << 'EOF'
export ANTHROPIC_AUTH_TOKEN="sk-生产环境API-Key"
export ANTHROPIC_MODEL="deepseek-v4-pro"
EOF
# 切换环境
source ~/.claude-dev.env # 切换到测试环境
source ~/.claude-prod.env # 切换到生产环境
# 方式二:使用函数快速切换(添加到 ~/.bashrc)
cat >> ~/.bashrc << 'FUNC'
# Claude 环境切换函数
claude-env() {
case "$1" in
dev)
export ANTHROPIC_AUTH_TOKEN="sk-测试环境API-Key"
export ANTHROPIC_MODEL="deepseek-v4-pro-test"
echo "已切换到测试环境"
;;
prod)
export ANTHROPIC_AUTH_TOKEN="sk-生产环境API-Key"
export ANTHROPIC_MODEL="deepseek-v4-pro"
echo "已切换到生产环境"
;;
*)
echo "用法: claude-env {dev|prod}"
;;
esac
}
FUNC
四、首次运行与常用命令
4.1 首次启动
claude
首次启动会:
- 提示是否授权工具执行权限(建议选 Yes)
- 自动读取环境变量,连接到 DeepSeek 端点
- 进入交互式对话界面
如果一切正常,会看到 Claude Code 的欢迎界面,表示已成功接入 DeepSeek-V4-Pro。
4.2 常用命令行参数
# 单次提问(非交互式,执行完直接返回)
claude "用Python写一个快速排序算法"
# 读取文件并针对内容提问
claude --file ./test.py "分析这段代码的性能瓶颈"
# 设置本次对话的最大输出长度
claude --max-tokens 4096
# 进入指定项目目录后启动
claude --project ./my-project
# 启动调试模式
claude --debug
4.3 交互模式常用命令
在 claude 的交互式对话中:
| 命令 | 作用 |
|---|---|
/cls |
清空当前对话上下文 |
/exit 或 Ctrl+C 或 Ctrl+D |
退出 Claude Code |
/help |
查看所有可用命令 |
/config |
打开配置面板(主题、模型等) |
4.4 集成到 VS Code (Remote SSH / 本地)
本地 VS Code:
-
在 VS Code 扩展市场搜索 “Claude Code” 并安装
或访问: https://marketplace.visualstudio.com/items?itemName=Anthropic.claude-vscode -
安装后打开 VS Code 设置 (
Ctrl+,),搜索 “Anthropic”,配置:- Base Url:
https://api.deepseek.com/anthropic - Auth Token:
sk-你的API-Key - Model:
deepseek-v4-pro
- Base Url:
通过 Remote SSH 连接到 CentOS 服务器:
VS Code Remote SSH 会自动读取服务器上的 ~/.bashrc 环境变量,前提是已在服务器上完成配置。
4.5 配置 systemd 服务(常驻后台)
如果需要 Claude Code 作为守护进程运行:
# 创建 systemd 用户服务
mkdir -p ~/.config/systemd/user
cat > ~/.config/systemd/user/claude-code.service << 'EOF'
[Unit]
Description=Claude Code AI Assistant
After=network.target
[Service]
Type=simple
EnvironmentFile=%h/.claude-deepseek.env
ExecStart=/usr/bin/claude
Restart=on-failure
RestartSec=10
[Install]
WantedBy=default.target
EOF
# 启用服务
systemctl --user daemon-reload
systemctl --user enable --now claude-code.service
五、常见问题及解决方法
❌ 问题1:claude: command not found 或 bash: claude: command not found
原因: npm 全局包路径不在 PATH 环境变量中。
解决:
# 查看 npm 全局安装路径
npm config get prefix
# 确认 claude 是否在该路径下
ls -la $(npm config get prefix)/bin/claude
# 将 npm 全局 bin 目录添加到 PATH
echo "export PATH=\$(npm config get prefix)/bin:\$PATH" >> ~/.bashrc
source ~/.bashrc
# 如果使用 sudo 安装,路径可能在 /usr/local/bin
which claude || find / -name "claude" -type f 2>/dev/null
❌ 问题2:启动后显示 Authentication required 或 401 Unauthorized
原因: API Key 未设置或无效。
解决:
# 检查环境变量是否设置
echo $ANTHROPIC_AUTH_TOKEN
# 如果为空,重新设置
export ANTHROPIC_AUTH_TOKEN="sk-你的DeepSeek-API-Key"
# 确保已写入配置文件
grep ANTHROPIC ~/.bashrc
source ~/.bashrc
确认 API Key 以 sk- 开头,且在 DeepSeek 平台 上状态为"有效";同时检查账户余额是否充足。
❌ 问题3:提示 Model not found 或 deepseek-v4-pro not available
原因: 模型名称拼写错误,或 DeepSeek 端点不支持该模型。
解决:
# 确认模型名称正确(注意是 v4 不是 v3)
echo $ANTHROPIC_MODEL # 必须是 deepseek-v4-pro
# 完整检查三个变量是否都正确
echo "BASE_URL: $ANTHROPIC_BASE_URL" # 必须是 https://api.deepseek.com/anthropic
echo "MODEL: $ANTHROPIC_MODEL" # 必须是 deepseek-v4-pro
echo "TOKEN: ${ANTHROPIC_AUTH_TOKEN:0:5}***${ANTHROPIC_AUTH_TOKEN: -4}"
❌ 问题4:Network error 或 ECONNREFUSED / ENOTFOUND
原因: 网络无法访问 DeepSeek API。
解决:
# 测试网络连通性
curl -v https://api.deepseek.com/anthropic/v1/messages \
-H "Content-Type: application/json" \
-d '{}'
如果返回 401 或 400 是正常的(说明已连通)。如果超时或拒绝连接,则:
# DNS 解析检查
nslookup api.deepseek.com
# 路由追踪
traceroute api.deepseek.com
# 检查代理设置(如果使用了代理)
echo $http_proxy
echo $https_proxy
# 如果需要配置代理
export https_proxy=http://your-proxy:port
- 检查服务器网络连接是否正常
- 检查防火墙/安全组是否放行 443 端口出站请求
- 如果在公司网络内,可能需要配置代理
❌ 问题5:npm install -g 报权限错误 (EACCES / EPERM)
原因: npm 全局目录需要 root 权限。
解决方式一(推荐): 配置 npm 全局安装目录为用户目录:
# 创建用户级 npm 全局目录
mkdir -p ~/.npm-global
# 配置 npm 使用该目录
npm config set prefix "$HOME/.npm-global"
# 添加到 PATH
echo 'export PATH="$HOME/.npm-global/bin:$PATH"' >> ~/.bashrc
source ~/.bashrc
# 重新安装 Claude Code(无需 sudo)
npm install -g @anthropic-ai/claude-code --registry=https://registry.npmmirror.com
解决方式二: 使用 sudo 安装(快速但不够优雅):
sudo npm install -g @anthropic-ai/claude-code --registry=https://registry.npmmirror.com
❌ 问题6:Node.js version too old, requires >= 18.x
原因: Node.js 版本过低。
解决:
node --version # 查看当前版本
如果低于 v18:
# 使用 nvm 快速升级(推荐)
nvm install 22
nvm use 22
nvm alias default 22
# 或通过 NodeSource 仓库升级
# CentOS 8+/RHEL 8+:
curl -fsSL https://rpm.nodesource.com/setup_22.x | sudo bash -
sudo dnf upgrade -y nodejs
# CentOS 7/RHEL 7:
curl -fsSL https://rpm.nodesource.com/setup_20.x | sudo bash -
sudo yum upgrade -y nodejs
推荐: 使用 nvm 管理多版本 Node.js,详见 第六章。
❌ 问题7:中文输出乱码
原因: 终端 locale 不是 UTF-8。
解决:
# 检查当前 locale 设置
locale
# 如果 LANG 不是 UTF-8,修改为 UTF-8
export LANG=zh_CN.UTF-8
export LC_ALL=zh_CN.UTF-8
# 永久设置
sudo localectl set-locale LANG=zh_CN.UTF-8
# 或者写入配置文件
echo 'export LANG=zh_CN.UTF-8' >> ~/.bashrc
echo 'export LC_ALL=zh_CN.UTF-8' >> ~/.bashrc
source ~/.bashrc
# 如果系统缺少中文语言包,安装它
# CentOS 8+/RHEL 8+:
sudo dnf install -y glibc-langpack-zh
# CentOS 7/RHEL 7:
sudo yum install -y glibc-common
sudo localedef -c -f UTF-8 -i zh_CN zh_CN.UTF-8
❌ 问题8:Failed to fetch 或请求超时
原因: DeepSeek API 响应较慢(尤其是高峰期)。
解决:
# 查看日志了解详细错误
tail -50 ~/.anthropic/logs/claude-code.log
# 启动调试模式查看实时请求
claude --debug
建议:
- 避开高峰时段(晚间 20:00-23:00)
- 检查 DeepSeek 平台服务状态页
- 重试几次,通常高峰过后恢复
❌ 问题9:防火墙或安全组拦截 Claude 联网
原因: 服务器防火墙(firewalld/iptables)或云服务商安全组阻止出站 HTTPS 请求。
解决:
1. 检查 firewalld(CentOS 7+ 默认防火墙):
# 查看防火墙状态
sudo firewall-cmd --state
# 检查出站规则
sudo firewall-cmd --list-all
# 通常 firewalld 默认允许所有出站流量
# 如果被限制,添加规则:
sudo firewall-cmd --permanent --direct --add-rule ipv4 filter OUTPUT 0 -p tcp --dport 443 -j ACCEPT
sudo firewall-cmd --reload
2. 检查 iptables:
# 查看当前规则
sudo iptables -L -n -v
# 查看 OUTPUT 链策略
sudo iptables -L OUTPUT -n -v
# 如果 OUTPUT 默认策略为 DROP,添加放行规则
sudo iptables -A OUTPUT -p tcp --dport 443 -j ACCEPT
sudo iptables -A OUTPUT -p tcp --dport 80 -j ACCEPT
sudo service iptables save # CentOS 7
3. 云服务器安全组:
- 登录云服务商控制台(阿里云/腾讯云/华为云/AWS 等)
- 检查实例关联的安全组规则
- 确保出站方向允许 TCP 443 端口
4. 测试出站连通性:
# 测试能否访问 DeepSeek API
curl -m 10 https://api.deepseek.com/anthropic/v1/messages
# 返回 401 或 400 = 连通正常
# 超时 = 可能被防火墙拦截
❌ 问题10:GLIBC 版本过低 (CentOS 7 特有问题)
原因: CentOS 7 自带的 GLIBC 2.17 不满足新版 Node.js 的要求。
排查:
# 检查 GLIBC 版本
ldd --version
# 如果 claude 启动报类似以下错误:
# /lib64/libc.so.6: version `GLIBC_2.28' not found
解决方案:
# 方案一:降级到 Node.js 18.x(兼容 GLIBC 2.17)
curl -fsSL https://rpm.nodesource.com/setup_18.x | sudo bash -
sudo yum install -y nodejs
# 方案二:使用 Docker 容器运行(推荐)
sudo yum install -y docker
sudo systemctl start docker
# 创建 claude 别名
cat >> ~/.bashrc << 'EOF'
alias claude='docker run -it --rm \
-e ANTHROPIC_BASE_URL=$ANTHROPIC_BASE_URL \
-e ANTHROPIC_MODEL=$ANTHROPIC_MODEL \
-e ANTHROPIC_AUTH_TOKEN=$ANTHROPIC_AUTH_TOKEN \
-v $(pwd):/workspace \
-w /workspace \
node:22 npx @anthropic-ai/claude-code'
EOF
source ~/.bashrc
# 方案三:升级到 Rocky Linux 8/9
# 参考:https://rockylinux.org/ (CentOS 的替代发行版)
六、进阶工具推荐
6.1 nvm:Node.js 版本管理器
nvm 允许在一台机器上安装多个 Node.js 版本并随时切换。
# 1. 安装 nvm(如果尚未安装)
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.40.1/install.sh | bash
source ~/.bashrc
# 2. 安装指定版本
nvm install 20.10.0
# 3. 切换到指定版本
nvm use 20.10.0
# 4. 查看已安装的版本
nvm list
# 5. 设置默认版本
nvm alias default 20.10.0
# 6. 安装 LTS 最新版
nvm install --lts
# 7. 验证
node --version
6.2 更新 Claude Code
# 更新到最新版本
npm update -g @anthropic-ai/claude-code
# 如果使用 sudo 安装
sudo npm update -g @anthropic-ai/claude-code
# 查看更新后的版本
claude --version
# 查看当前安装的版本列表
npm list -g @anthropic-ai/claude-code
6.3 环境变量备份与迁移
更换服务器时,备份并恢复环境变量配置:
# === 导出(旧服务器) ===
grep -E "^export ANTHROPIC_" ~/.bashrc > ./claude-config-backup.sh
echo "已导出到 ./claude-config-backup.sh"
# === 导入(新服务器) ===
cat ./claude-config-backup.sh >> ~/.bashrc
source ~/.bashrc
echo "已导入环境变量"
# === 或者直接复制整个配置文件 ===
scp old-server:~/.claude-deepseek.env ~/
echo 'source ~/.claude-deepseek.env' >> ~/.bashrc
source ~/.bashrc
6.4 使用 tmux/screen 保活 Claude Code 会话
# 安装 tmux
sudo dnf install -y tmux # CentOS 8+
sudo yum install -y tmux # CentOS 7
# 创建新会话并启动 Claude
tmux new -s claude
# 在 tmux 窗口中运行
claude
# 断开会话(不关闭 Claude):按 Ctrl+B 然后按 D
# 重新连接会话
tmux attach -t claude
七、一键排障脚本
将以下脚本保存为 ClaudeCheck.sh,使用 bash ClaudeCheck.sh 运行即可自动检测所有配置项:
#!/bin/bash
# ============================================
# Claude Code + DeepSeek 环境检测工具 (CentOS)
# ============================================
# 颜色定义
RED='\033[0;31m'
GREEN='\033[0;32m'
YELLOW='\033[1;33m'
CYAN='\033[0;36m'
GRAY='\033[0;90m'
NC='\033[0m' # 无颜色
PASS=0
FAIL=0
WARN=0
echo ""
echo -e "${CYAN}========================================"
echo -e " Claude Code + DeepSeek 环境检测工具"
echo -e " 系统: $(cat /etc/redhat-release 2>/dev/null || echo 'Unknown')"
echo -e "========================================${NC}"
echo ""
# 1. 操作系统版本检测
echo -e "${YELLOW}[1/9] 操作系统版本检测...${NC}"
if [ -f /etc/redhat-release ]; then
OS_VERSION=$(cat /etc/redhat-release)
echo -e " ${GREEN}PASS${NC} 系统: ${OS_VERSION}"
PASS=$((PASS+1))
# 检查 CentOS 7 的 GLIBC
if grep -q "release 7" /etc/redhat-release 2>/dev/null; then
GLIBC_VER=$(ldd --version 2>&1 | head -1 | awk '{print $NF}')
echo -e " ${YELLOW}WARN${NC} CentOS 7 检测到,GLIBC 版本: ${GLIBC_VER}"
echo -e " ${GRAY}INFO${NC} 建议使用 Node.js 18.x 或 Docker 方案"
WARN=$((WARN+1))
fi
else
echo -e " ${YELLOW}WARN${NC} 非 CentOS/RHEL 系统,本脚本适配可能不完整"
WARN=$((WARN+1))
fi
# 2. Node.js 版本检测
echo -e "${YELLOW}[2/9] Node.js 版本检测...${NC}"
if command -v node &> /dev/null; then
NODE_VERSION=$(node --version 2>&1)
echo -e " ${GREEN}PASS${NC} Node.js ${NODE_VERSION}"
PASS=$((PASS+1))
# 检查版本是否 >= 18
NODE_MAJOR=$(echo "$NODE_VERSION" | grep -oP '\d+' | head -1)
if [ "$NODE_MAJOR" -lt 18 ]; then
echo -e " ${RED}FAIL${NC} Node.js 版本过低 (${NODE_VERSION}),需要 >= v18.x"
FAIL=$((FAIL+1))
fi
else
echo -e " ${RED}FAIL${NC} Node.js 未安装或不在 PATH 中"
echo -e " ${GRAY}FIX${NC} 参考本指南第一章安装 Node.js"
FAIL=$((FAIL+1))
fi
# 3. npm 版本检测
echo -e "${YELLOW}[3/9] npm 版本检测...${NC}"
if command -v npm &> /dev/null; then
NPM_VERSION=$(npm --version 2>&1)
echo -e " ${GREEN}PASS${NC} npm ${NPM_VERSION}"
PASS=$((PASS+1))
else
echo -e " ${RED}FAIL${NC} npm 未安装或不在 PATH 中"
FAIL=$((FAIL+1))
fi
# 4. Claude Code 版本检测
echo -e "${YELLOW}[4/9] Claude Code 版本检测...${NC}"
if command -v claude &> /dev/null; then
CLAUDE_VERSION=$(claude --version 2>&1)
echo -e " ${GREEN}PASS${NC} ${CLAUDE_VERSION}"
PASS=$((PASS+1))
else
echo -e " ${RED}FAIL${NC} Claude Code 未安装或不在 PATH 中"
echo -e " ${GRAY}FIX${NC} npm install -g @anthropic-ai/claude-code --registry=https://registry.npmmirror.com"
FAIL=$((FAIL+1))
fi
# 5. 环境变量检测
echo -e "${YELLOW}[5/9] 环境变量检测...${NC}"
VARS=("ANTHROPIC_BASE_URL" "ANTHROPIC_MODEL" "ANTHROPIC_AUTH_TOKEN")
for VAR in "${VARS[@]}"; do
VAL="${!VAR}"
if [ -n "$VAL" ]; then
if [ "$VAR" = "ANTHROPIC_AUTH_TOKEN" ]; then
# 掩码显示 API Key
MASKED=$(echo "$VAL" | sed 's/\(sk-\).*\(.\{4\}\)/\1***\2/')
echo -e " ${GREEN}PASS${NC} ${VAR} = ${MASKED}"
else
echo -e " ${GREEN}PASS${NC} ${VAR} = ${VAL}"
fi
PASS=$((PASS+1))
else
echo -e " ${RED}FAIL${NC} ${VAR} 未设置"
echo -e " ${GRAY}FIX${NC} 参考本指南第三章配置环境变量"
FAIL=$((FAIL+1))
fi
done
# 6. 网络连通性检测
echo -e "${YELLOW}[6/9] DeepSeek API 连通性...${NC}"
HTTP_CODE=$(curl -s -o /dev/null -w "%{http_code}" --connect-timeout 5 \
"https://api.deepseek.com/anthropic/v1/messages" \
-H "Content-Type: application/json" \
-d '{}' 2>/dev/null)
if [ "$HTTP_CODE" = "401" ] || [ "$HTTP_CODE" = "400" ] || [ "$HTTP_CODE" = "405" ]; then
echo -e " ${GREEN}PASS${NC} API 端点连通 (HTTP ${HTTP_CODE})"
PASS=$((PASS+1))
elif [ -n "$HTTP_CODE" ]; then
echo -e " ${YELLOW}WARN${NC} API 返回 HTTP ${HTTP_CODE}"
WARN=$((WARN+1))
else
echo -e " ${RED}FAIL${NC} 无法连接 DeepSeek API"
echo -e " ${GRAY}FIX${NC} 检查网络和防火墙设置"
FAIL=$((FAIL+1))
fi
# 7. DNS 解析检测
echo -e "${YELLOW}[7/9] DNS 解析检测...${NC}"
if command -v nslookup &> /dev/null; then
if nslookup api.deepseek.com &> /dev/null; then
echo -e " ${GREEN}PASS${NC} api.deepseek.com 解析正常"
PASS=$((PASS+1))
else
echo -e " ${RED}FAIL${NC} DNS 解析失败"
FAIL=$((FAIL+1))
fi
elif command -v dig &> /dev/null; then
if dig api.deepseek.com +short &> /dev/null; then
echo -e " ${GREEN}PASS${NC} api.deepseek.com 解析正常"
PASS=$((PASS+1))
else
echo -e " ${RED}FAIL${NC} DNS 解析失败"
FAIL=$((FAIL+1))
fi
else
echo -e " ${YELLOW}WARN${NC} 未找到 nslookup/dig 工具,跳过 DNS 检测"
echo -e " ${GRAY}INFO${NC} 可安装: sudo dnf install -y bind-utils"
WARN=$((WARN+1))
fi
# 8. npm 全局路径检测
echo -e "${YELLOW}[8/9] npm 全局路径检测...${NC}"
NPM_PREFIX=$(npm config get prefix 2>/dev/null)
if echo "$PATH" | grep -q "$NPM_PREFIX/bin"; then
echo -e " ${GREEN}PASS${NC} npm 全局路径已在 PATH 中 (${NPM_PREFIX}/bin)"
PASS=$((PASS+1))
elif [ -n "$NPM_PREFIX" ]; then
echo -e " ${YELLOW}WARN${NC} npm 全局路径可能不在 PATH 中: ${NPM_PREFIX}/bin"
echo -e " ${GRAY}FIX${NC} echo 'export PATH=\"${NPM_PREFIX}/bin:\$PATH\"' >> ~/.bashrc"
WARN=$((WARN+1))
else
echo -e " ${YELLOW}WARN${NC} 无法确定 npm 全局路径"
WARN=$((WARN+1))
fi
# 9. 配置文件权限检测
echo -e "${YELLOW}[9/9] 配置文件权限检测...${NC}"
if [ -f ~/.claude-deepseek.env ]; then
PERMS=$(stat -c "%a" ~/.claude-deepseek.env 2>/dev/null)
if [ "$PERMS" = "600" ]; then
echo -e " ${GREEN}PASS${NC} ~/.claude-deepseek.env 权限安全 (600)"
PASS=$((PASS+1))
else
echo -e " ${YELLOW}WARN${NC} ~/.claude-deepseek.env 权限为 ${PERMS},建议设为 600"
echo -e " ${GRAY}FIX${NC} chmod 600 ~/.claude-deepseek.env"
WARN=$((WARN+1))
fi
else
echo -e " ${GRAY}INFO${NC} 未使用独立配置文件,跳过权限检测"
fi
# 汇总
echo ""
TOTAL=$((PASS + FAIL + WARN))
echo -e "${CYAN}========================================${NC}"
if [ "$FAIL" -eq 0 ] && [ "$WARN" -eq 0 ]; then
echo -e "${GREEN} 全部检测通过!可以正常使用。${NC}"
elif [ "$FAIL" -eq 0 ]; then
echo -e "${GREEN} 检测通过 (${PASS}/${TOTAL}),存在 ${WARN} 个警告。${NC}"
else
echo -e "${RED} 存在 ${FAIL} 个未通过项,${WARN} 个警告,请根据提示修复。${NC}"
fi
echo -e " 通过: ${PASS} | 警告: ${WARN} | 失败: ${FAIL}"
echo -e "${CYAN}========================================${NC}"
echo ""
# 提供快速修复建议
if [ "$FAIL" -gt 0 ]; then
echo -e "${YELLOW}快速修复建议:${NC}"
echo ""
echo -e " # 安装 Node.js (CentOS 8+):"
echo -e " curl -fsSL https://rpm.nodesource.com/setup_22.x | sudo bash -"
echo -e " sudo dnf install -y nodejs"
echo ""
echo -e " # 安装 Claude Code:"
echo -e " npm install -g @anthropic-ai/claude-code --registry=https://registry.npmmirror.com"
echo ""
echo -e " # 配置环境变量:"
echo -e " cat > ~/.claude-deepseek.env << 'EOF'"
echo -e " export ANTHROPIC_BASE_URL=\"https://api.deepseek.com/anthropic\""
echo -e " export ANTHROPIC_MODEL=\"deepseek-v4-pro\""
echo -e " export ANTHROPIC_AUTH_TOKEN=\"sk-你的API-Key\""
echo -e " EOF"
echo -e " echo 'source ~/.claude-deepseek.env' >> ~/.bashrc"
echo -e " source ~/.bashrc"
echo ""
fi
赋予执行权限并运行:
chmod +x ClaudeCheck.sh
bash ClaudeCheck.sh
八、环境变量参考
| 变量名 | 说明 | 示例值 |
|---|---|---|
ANTHROPIC_BASE_URL |
API 端点地址,指向 DeepSeek 的 Anthropic 兼容接口 | https://api.deepseek.com/anthropic |
ANTHROPIC_MODEL |
使用的模型名称 | deepseek-v4-pro |
ANTHROPIC_AUTH_TOKEN |
API 认证密钥(相当于访问模型的"密码") | sk-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx |
术语解释:
- ANTHROPIC_BASE_URL: Claude Code 原生调用 Anthropic Messages API。DeepSeek 提供了一个兼容该协议格式的端点,设置此变量可将请求重定向到 DeepSeek 服务器。
- ANTHROPIC_AUTH_TOKEN: API 密钥,用于验证用户身份和计费。在 DeepSeek 平台创建,格式为
sk-开头。 - LTS 版本: Long-Term Support,长期支持版本,稳定性更高,推荐生产使用。
九、快速安装总结(一行脚本)
# === 一键安装脚本(CentOS 8+ / RHEL 8+) ===
# 1. 安装 Node.js
curl -fsSL https://rpm.nodesource.com/setup_22.x | sudo bash - && sudo dnf install -y nodejs
# 2. 安装 Claude Code
npm install -g @anthropic-ai/claude-code --registry=https://registry.npmmirror.com
# 3. 配置环境变量(替换 sk-你的DeepSeek-API-Key)
cat > ~/.claude-deepseek.env << 'EOF'
export ANTHROPIC_BASE_URL="https://api.deepseek.com/anthropic"
export ANTHROPIC_MODEL="deepseek-v4-pro"
export ANTHROPIC_AUTH_TOKEN="sk-你的DeepSeek-API-Key"
EOF
echo 'source ~/.claude-deepseek.env' >> ~/.bashrc
chmod 600 ~/.claude-deepseek.env
source ~/.bashrc
# 4. 启动
claude
十、免责声明
- DeepSeek API Key 需妥善保管,泄露可能导致账户被盗用和费用损失。请勿将包含真实 Key 的配置文件上传到公开仓库。建议使用
chmod 600设置严格权限。 - DeepSeek 模型的使用需遵守 DeepSeek 平台服务条款。
- Claude Code 本身由 Anthropic 开发,通过第三方兼容端点使用时,Anthropic 不提供技术支持。
- 本指南仅提供安装与配置方法,不构成任何商业推荐。
- 对于 CentOS 7 等较老系统,推荐使用 Docker 容器方案以确保安全和兼容性。
更多推荐



所有评论(0)