跳转到内容

Claude Code

Claude Code 是 Anthropic 推出的官方命令行编程工具,基于 Claude 大语言模型,可以直接在终端中辅助你编写代码、分析项目、执行系统管理任务。它能够理解整个代码库的上下文,直接读写文件、运行命令,是服务器端开发和运维的强大助手。

  • CentOS Stream 9 & 10 / AlmaLinux 9 & 10 / Rocky Linux 9 & 10
  • Node.js 22 或更高版本,推荐当前 LTS Node.js 24(Node.js 20 已于 2026-04 EOL)
  • Anthropic API 密钥(从 console.anthropic.com 获取)
  • 网络能访问 Anthropic API

EL 默认仓库中的 Node.js 版本可能较旧(EL 9.8 / EL 10 官方仓库当前分别为 Node.js 24 / 22),推荐通过 NodeSource 仓库安装最新 LTS 版本。

方式一:使用 NodeSource 仓库(推荐)

Section titled “方式一:使用 NodeSource 仓库(推荐)”
Terminal window
# 安装 Node.js 24.x LTS
curl -fsSL https://rpm.nodesource.com/setup_24.x | sudo bash -
sudo dnf install -y nodejs

方式二:使用 dnf module(仅 EL 9)

Section titled “方式二:使用 dnf module(仅 EL 9)”
Terminal window
# 查看可用的 Node.js 版本
sudo dnf module list nodejs
# 启用并安装 Node.js 24
sudo dnf module enable nodejs:24 -y
sudo dnf install -y nodejs

验证安装:

Terminal window
node --version
npm --version

使用 npm 全局安装:

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

验证安装:

Terminal window
claude --version
Terminal window
npm update -g @anthropic-ai/claude-code

首次运行 claude 时会引导你完成认证。你也可以提前通过环境变量设置:

Terminal window
# 临时设置
export ANTHROPIC_API_KEY="sk-ant-xxxxx"
# 永久设置(添加到 shell 配置文件)
echo 'export ANTHROPIC_API_KEY="sk-ant-xxxxx"' >> ~/.bashrc
source ~/.bashrc

如果你通过 API 代理服务访问,可以自定义 API 地址:

Terminal window
export ANTHROPIC_BASE_URL="https://your-proxy.example.com"
export ANTHROPIC_API_KEY="your-key"

Claude Code 的配置文件位于 ~/.claude/ 目录下。你可以通过交互命令 /config 调整设置,或直接编辑配置文件:

Terminal window
ls -la ~/.claude/

在项目目录中直接运行:

Terminal window
cd /path/to/your/project
claude

进入交互式界面后,你可以直接用自然语言描述需求。

使用 -p 参数进行单次提问,适合脚本调用:

Terminal window
# 单次提问
claude -p "解释这个项目的目录结构"
# 分析特定文件
claude -p "分析 /etc/nginx/nginx.conf 的配置,有什么安全隐患?"
Terminal window
# 分析日志
journalctl -u nginx --since "1 hour ago" | claude -p "分析这些日志,有什么异常?"
# 审查代码
cat app.py | claude -p "审查这段代码的安全性"
# 分析系统状态
top -bn1 | claude -p "分析系统负载情况"

在交互模式中,以 / 开头的是内置命令:

命令说明
/help显示帮助信息
/config修改配置
/clear清除对话上下文
/compact压缩对话历史以节省 token
/cost查看当前会话的 API 用量
你:检查当前系统的磁盘使用情况,找出占用空间最大的目录
你:帮我写一个 bash 脚本,定时清理 /var/log 下超过 30 天的日志文件
你:创建一个 Python Flask API,提供 /health 和 /status 端点
你:阅读当前项目的代码,写一份部署到 Rocky Linux 上的步骤
你:帮我生成一个 Nginx 反向代理配置,将 /api 请求转发到后端 8080 端口,启用 SSL
你:检查 /etc/ssh/sshd_config 的安全配置,给出加固建议

Claude Code 支持 MCP(Model Context Protocol)服务器,可以扩展其能力。MCP 服务器可以为 Claude Code 提供额外的工具和数据源。

在项目根目录创建 .mcp.json 文件:

{
"mcpServers": {
"filesystem": {
"command": "npx",
"args": [
"-y",
"@modelcontextprotocol/server-filesystem",
"/opt/data"
]
},
"postgres": {
"command": "npx",
"args": [
"-y",
"@modelcontextprotocol/server-postgres",
"postgresql://user:pass@localhost:5432/mydb"
]
}
}
}

也可以在 ~/.claude/ 目录下创建全局 MCP 配置。

通过 Claude Code 交互命令添加:

Terminal window
# 添加文件系统 MCP
claude mcp add filesystem npx -y @modelcontextprotocol/server-filesystem /opt/data
# 添加 PostgreSQL MCP
claude mcp add postgres npx -y @modelcontextprotocol/server-postgres "postgresql://user:pass@localhost/db"
# 查看已配置的 MCP 服务器
claude mcp list

在服务器上推荐通过 tmux 运行 Claude Code,防止 SSH 断连导致会话丢失:

Terminal window
# 创建新的 tmux 会话
tmux new -s claude
# 在 tmux 中运行 claude
claude
# 断开时按 Ctrl+B 然后按 D
# 重新连接
tmux attach -t claude

如果 Claude Code 需要操作受 SELinux 保护的文件:

Terminal window
# 查看文件的 SELinux 上下文
ls -Z /var/www/html/
# 如果 Claude Code 创建的文件上下文不对,可以修复
sudo restorecon -Rv /var/www/html/

在生产服务器上使用时,建议用普通用户运行 Claude Code,避免使用 root:

Terminal window
# 创建专用用户
sudo useradd -m claude-user
sudo su - claude-user
# 安装和运行
npm install -g @anthropic-ai/claude-code
export ANTHROPIC_API_KEY="sk-ant-xxxxx"
claude

如果服务器通过代理访问外网:

Terminal window
# 设置 HTTPS 代理
export HTTPS_PROXY="http://proxy.example.com:7890"
export ANTHROPIC_API_KEY="sk-ant-xxxxx"
claude

如果遇到权限错误:

Terminal window
# 方式一:修改 npm 全局目录
mkdir -p ~/.npm-global
npm config set prefix '~/.npm-global'
echo 'export PATH=~/.npm-global/bin:$PATH' >> ~/.bashrc
source ~/.bashrc
npm install -g @anthropic-ai/claude-code
# 方式二:使用 sudo(不推荐)
sudo npm install -g @anthropic-ai/claude-code
Terminal window
# 检查版本
node --version
# 如果低于 22,按照上述方式升级 Node.js

检查网络连通性和代理设置:

Terminal window
# 测试 API 连通性(model 换成当前可用的模型 ID,见 Anthropic 官方文档)
curl -v https://api.anthropic.com/v1/messages \
-H "x-api-key: $ANTHROPIC_API_KEY" \
-H "content-type: application/json" \
-H "anthropic-version: 2023-06-01" \
-d '{"model":"claude-sonnet-4-5","max_tokens":10,"messages":[{"role":"user","content":"hi"}]}'