本教程面向零基础开发者,系统讲解如何从零安装、配置并使用 Claude Code —— Anthropic 官方推出的终端 AI 编程助手。学完本教程,你将能够独立完成 Claude Code 的安装、身份认证、项目配置,并使用它完成一个真实的小型项目。适用人群:有基本命令行经验但从未接触过 Claude Code 的开发者。
Claude Code 是 Anthropic 推出的一款运行在终端中的 AI 编程助手。它与浏览器中的 ChatGPT 或 Claude.ai 不同,直接运行在你的本地终端环境中,能够:
简单来说,Claude Code 就像一个坐在你旁边的高级开发者,通过终端和你对话,直接帮你写代码、调 Bug、做重构。

图表 1
Claude Code 本身是一个 Node.js 命令行工具,它将你的指令、项目文件内容、终端输出等信息发送给 Anthropic 的 Claude 模型,模型返回操作指令,Claude Code 再在本地执行这些操作。整个过程在你的机器上完成,代码不会上传到 Anthropic 的服务器(只有文本内容会发送给模型)。
在开始安装之前,请确保你的系统满足以下要求:
| 要求 | 最低版本 | 推荐版本 | 检查命令 |
|---|---|---|---|
| Node.js | v18.0+ | v20.x LTS | node --version |
| npm | v8.0+ | v10.x | npm --version |
| Git | v2.0+ | 最新版 | git --version |
| 内存 | 4GB RAM | 8GB+ | — |
| 网络 | 需要访问 Anthropic API | 稳定连接 | — |
Windows 用户注意:Claude Code 目前不直接支持 Windows 原生终端。你需要先安装 WSL2,在 WSL2 的 Linux 环境中使用。安装 WSL2 的方法:在 PowerShell(管理员)中运行
wsl --install,然后重启电脑。
推荐使用 nvm(Node Version Manager)管理 Node.js 版本:
# 安装 nvm
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.40.1/install.sh | bash
# 重新加载 shell 配置
source ~/.bashrc
# 安装 Node.js LTS 版本
nvm install --lts
# 验证安装
node --version # 应输出 v20.x.x 或更高
npm --version # 应输出 10.x.x 或更高
如果你更喜欢直接安装,也可以从 Node.js 官网 下载安装包。
Claude Code 通过 npm 全局安装,一条命令搞定:
npm install -g @anthropic-ai/claude-code
安装完成后,验证是否成功:
claude --version
如果看到版本号输出(如 2.1.x),说明安装成功。
问题1:EACCES 权限错误
npm ERR! Error: EACCES, permission denied
解决方案:不要使用 sudo npm install -g。推荐做法是配置 npm 的全局安装目录:
mkdir -p ~/.npm-global
npm config set prefix '~/.npm-global'
echo 'export PATH=~/.npm-global/bin:$PATH' >> ~/.bashrc
source ~/.bashrc
然后重新运行安装命令。
问题2:claude: command not found
安装成功但终端找不到 claude 命令,通常是 PATH 问题:
# 查看 npm 全局安装路径
npm config get prefix
# 将其加入 PATH(假设输出为 /home/yourname/.npm-global)
echo 'export PATH="/home/yourname/.npm-global/bin:$PATH"' >> ~/.bashrc
source ~/.bashrc
问题3:Node.js 版本过低
Error: Claude Code requires Node.js 18 or later
使用 nvm 切换到新版本:
nvm install 20
nvm use 20
nvm alias default 20
安装完成后,首次运行 claude 会引导你完成身份认证。Claude Code 支持两种认证方式:
如果你有 Claude Pro、Max 或 Team 订阅,推荐使用 OAuth:
claude
首次运行会显示一个 URL,按回车后会自动在浏览器中打开。在浏览器中登录你的 Anthropic 账号并授权即可。
如果你使用 API Key(按量付费模式):
# 设置 API Key 环境变量
export ANTHROPIC_API_KEY="sk-ant-api03-xxxxxxxxxxxxx"
# 然后启动
claude
建议将 API Key 写入 shell 配置文件,避免每次手动设置:
echo 'export ANTHROPIC_API_KEY="sk-ant-api03-xxxxxxxxxxxxx"' >> ~/.bashrc
source ~/.bashrc
安全提醒:永远不要将 API Key 提交到 Git 仓库。确保
.gitignore中包含.env文件。
启动 Claude Code 后,如果看到类似下面的提示,说明认证成功:
╭──────────────────────────────────────────────╮
│ Welcome to Claude Code! │
│ │
│ Model: claude-sonnet-4-6 │
│ Account: [email protected] │
╰──────────────────────────────────────────────╯
>
在开始实战之前,先了解 Claude Code 的几个核心概念:
| 模式 | 启动方式 | 用途 |
|---|---|---|
| 交互式 REPL | claude |
持续对话,适合开发调试 |
| 单次执行 | claude "你的指令" |
一次性任务,执行完退出 |
| 管道模式 | cat file.txt \| claude "分析这个文件" |
将输入传给 Claude 处理 |
| 恢复会话 | claude --resume |
继续上次未完成的对话 |
Claude Code 的操作需要你的授权。它会将操作分为几类:
你可以通过权限配置减少重复确认的烦恼(后文详述)。
Claude Code 自动收集以下上下文信息:
CLAUDE.md 文件中的指令在交互模式中,使用 / 开头的命令来执行特定操作:
| 命令 | 功能 | 使用场景 |
|---|---|---|
/help |
查看帮助信息 | 忘记命令时查看 |
/clear |
清除对话历史 | 上下文过长时重置 |
/compact |
压缩对话历史 | 上下文快满时节省空间 |
/model |
切换模型 | 切换 Sonnet/Opus 等 |
/plan |
进入规划模式 | 复杂任务先制定计划 |
/permissions |
管理权限 | 调整自动允许的操作 |
/review |
代码审查 | 让 Claude 审查代码变更 |
/cost |
查看会话费用 | 监控 API 用量 |
/status |
查看当前状态 | 检查模型、上下文等信息 |
/memory |
查看/编辑记忆 | 管理跨会话记忆 |
/mcp |
MCP 服务器管理 | 查看 MCP 连接状态 |
/vim |
切换 Vim 模式 | Vim 爱好者 |
/quit |
退出 Claude Code | 结束会话 |
| 快捷键 | 功能 |
|---|---|
Enter |
发送消息(单行模式) |
Shift + Enter |
换行(不发送) |
Escape |
取消当前操作/中断 Claude 的回复 |
Shift + Tab |
切换 Plan/Act 模式 |
Tab |
自动补全文件路径 |
↑ / ↓ |
浏览历史消息 |
Ctrl + C |
中断当前操作 |
Ctrl + D |
退出 Claude Code |
# 指定模型
claude --model claude-opus-4-6
# 单次执行模式
claude -p "解释这个项目的架构"
# 从标准输入读取
echo "hello world" | claude -p "翻译为中文"
# 恢复上次会话
claude --resume
# 指定工作目录
claude --cwd /path/to/project
# 输出为 JSON 格式(适合脚本集成)
claude -p "list all TODO comments" --output-format json
# 非交互模式(适合 CI/CD)
claude -p "run tests" --allowedTools "Bash(npm test)"
CLAUDE.md 是 Claude Code 的项目配置文件,它告诉 Claude 如何理解和处理你的项目。这是 Claude Code 最强大的特性之一。

图表 2
在项目根目录创建 CLAUDE.md 文件:
# 项目说明
这是一个使用 React + TypeScript 的前端项目。
# 技术栈
- React 18 + TypeScript
- Vite 构建工具
- TailwindCSS 样式
- Vitest 测试框架
# 代码规范
- 使用函数式组件和 Hooks
- 变量使用 camelCase,组件使用 PascalCase
- 优先使用命名导出而非默认导出
- 提交信息遵循 Conventional Commits 规范
# 项目结构
- src/components/ - 通用组件
- src/pages/ - 页面组件
- src/hooks/ - 自定义 Hooks
- src/utils/ - 工具函数
- src/api/ - API 请求相关
# 注意事项
- 不要修改 src/generated/ 下的文件(自动生成的)
- 运行测试命令: npm test
- 运行构建命令: npm run build
在 ~/.claude/CLAUDE.md 中放置对所有项目通用的偏好:
# 全局偏好
- 回复使用中文
- 代码注释使用英文
- 默认使用 TypeScript
- 优先使用原生 API 而非第三方库
- commit message 不要自动加版本号
settings.json 用于配置 Claude Code 的行为和权限。文件位置:
~/.claude/settings.json.claude/settings.json.claude/settings.local.json一个典型的 settings.json:
{
"permissions": {
"allow": [
"Bash(npm test*)",
"Bash(npm run lint*)",
"Bash(git status*)",
"Bash(git diff*)",
"Bash(git log*)",
"Read",
"Glob",
"Grep"
],
"deny": [
"Bash(rm -rf*)",
"Bash(curl*|*)",
"Bash(wget*)"
]
},
"model": "claude-sonnet-4-6",
"theme": "dark"
}
现在让我们通过一个完整的实战案例,体验 Claude Code 的完整工作流。我们将创建一个 命令行待办事项工具。
# 创建项目目录
mkdir todo-cli && cd todo-cli
# 初始化 Git 仓库
git init
# 启动 Claude Code
claude
在 Claude Code 的交互提示符中输入:
> 帮我创建一个 Python 命令行待办事项工具。要求:
> 1. 使用 argparse 处理命令行参数
> 2. 支持添加、删除、列表、完成标记操作
> 3. 数据存储在 JSON 文件中
> 4. 代码结构清晰,有类型注解
Claude Code 会:
1. 分析你的需求
2. 创建 todo.py 文件(会请求你确认)
3. 可能还会创建 requirements.txt 或 README.md
在 Claude Code 中使用 /review 或者直接说:
> 展示你创建的文件的内容
你应该能看到类似以下的 Python 文件:
# todo.py
import argparse
import json
from pathlib import Path
from datetime import datetime
from typing import Optional
DATA_FILE = Path.home() / ".todo_data.json"
def load_todos() -> list[dict]:
"""Load todos from JSON file."""
if DATA_FILE.exists():
return json.loads(DATA_FILE.read_text())
return []
def save_todos(todos: list[dict]) -> None:
"""Save todos to JSON file."""
DATA_FILE.write_text(json.dumps(todos, indent=2, ensure_ascii=False))
def add_todo(title: str, priority: str = "normal") -> None:
"""Add a new todo item."""
todos = load_todos()
todos.append({
"id": len(todos) + 1,
"title": title,
"priority": priority,
"done": False,
"created_at": datetime.now().isoformat()
})
save_todos(todos)
print(f"✅ Added: {title}")
def list_todos(show_all: bool = False) -> None:
"""List all todo items."""
todos = load_todos()
if not todos:
print("No todos found.")
return
for todo in todos:
status = "✓" if todo["done"] else "○"
print(f" {status} [{todo['id']}] {todo['title']} ({todo['priority']})")
# ... 更多函数
继续在 Claude Code 中对话来完善项目:
> 给我添加单元测试,使用 pytest 框架
> 帮我添加一个 --sort 参数,可以按优先级排序
> 运行测试,确保全部通过
Claude Code 会自动执行 pytest 命令并报告结果。
当项目完成后:
> 帮我提交代码到 Git
Claude Code 会自动执行 git add、git status、git commit 等操作(每步都会请求你确认)。
对于复杂任务,先进入 Plan 模式,让 Claude 制定计划后再执行:
> /plan
或使用快捷键 Shift + Tab 切换到 Plan 模式。在 Plan 模式下,Claude 只会分析代码和制定方案,不会修改任何文件。确认方案后再切回 Act 模式执行。
当对话过长时,使用 /compact 压缩历史:
> /compact
Claude Code 会自动总结之前的对话,释放上下文空间。你也可以自定义压缩提示:
> /compact 请保留所有关于数据库schema的讨论
如果你意外退出或想继续昨天的工作:
# 恢复最近的会话
claude --resume
# 继续特定会话(Claude 会列出最近的会话供选择)
claude --continue
Claude Code 擅长处理跨多个文件的修改:
> 把所有的 console.log 替换成自定义的 logger,并创建 logger 模块
Claude Code 会搜索所有相关文件,一次性完成修改。
-p(pipe/prompt)模式适合将 Claude Code 集成到脚本中:
# 代码审查
claude -p "review the changes in my git diff and suggest improvements" < <(git diff)
# 自动生成 commit message
claude -p "generate a conventional commit message" < <(git diff --staged)
# 批量文件处理
for file in src/*.ts; do
claude -p "add type annotations to this TypeScript file" < "$file" > "${file%.ts}.typed.ts"
done
Claude Code 提供三种权限模式:
| 模式 | 说明 | 适用场景 |
|---|---|---|
| Default | 每次操作都确认 | 新手推荐,安全 |
| Auto-accept edits | 自动接受文件编辑 | 信任 Claude 的编辑能力 |
| Yolo/Auto-accept all | 自动接受所有操作 | CI/CD、自动化场景 |
{
"permissions": {
"allow": [
"Read",
"Glob",
"Grep",
"Bash(git *)",
"Bash(npm test*)",
"Bash(npm run lint*)",
"Bash(npm run build*)",
"Bash(ls *)",
"Bash(cat *)",
"Bash(pytest*)"
],
"deny": [
"Bash(rm -rf *)",
"Bash(sudo *)",
"Bash(chmod 777*)"
]
}
}
语法规则:
- "Bash(npm test*)" —— 允许所有以 npm test 开头的命令
- "Bash(git *)" —— 允许所有 git 命令
- "Read" —— 允许所有文件读取操作
- "Write" —— 允许所有文件写入操作
在会话中使用 /permissions 命令可以实时查看和调整权限:
> /permissions
这会打开一个交互式界面,你可以添加、删除权限规则。
下面是一个典型的 Claude Code 开发工作流:
flowchart LR
A[终端启动 Claude Code] --> B[认证/选择模型]
B --> C[读取 CLAUDE.md<br/>加载项目上下文]
C --> D{任务复杂度}
D -->|简单任务| E[直接对话执行]
D -->|复杂任务| F[/plan 模式<br/>制定计划]
F --> G[审核计划]
G --> H[切换 Act 模式<br/>逐步执行]
E --> I[Claude 操作文件<br/>运行命令]
H --> I
I --> J{结果满意?}
J -->|是| K[Git 提交]
J -->|否| L[继续迭代<br/>补充指令]
L --> I
K --> M[推送远程<br/>或创建 PR]
style F fill:#f59e0b,color:#fff
style H fill:#10b981,color:#fff
style K fill:#3b82f6,color:#fff
/compact,长对话会消耗上下文空间--resume 恢复会话,保持工作连续性/model 切换到 Sonnet(更快)或 Opus(更强)/compact 释放空间/compact 压缩历史/clear 完全清除对话使用 /cost 命令查看当前会话的 Token 用量和预估费用。
| 维度 | 评估 |
|---|---|
| 适合训练营类型 | AI 工具训练营、前端/后端开发者入门营、DevOps 效率提升营 |
| 预计教学时长 | 2-3 小时(含动手实操) |
| 学员基础要求 | 基本命令行操作能力,了解一门编程语言 |
| 实操比重 | 60% 实操 + 40% 讲解 |
| 最佳分组方式 | 每人独立完成,助教巡场答疑 |
| 考核方式 | 提交一个由 Claude Code 辅助完成的小项目(含 CLAUDE.md 配置) |
[!tip] 51学通信知识星球 星主:爱卫生(微信:gprshome201101)——公众号「51学通信」创办者,19 年通信行业运维与讲师经验,著有《GPRS网络信令实例详解》《EPC原理与实践》《5G核心网原理与实践》三本纸质书(各大电商平台有售)。 星球定位:深耕 5G 核心网、IMS、NFV/AI、云原生等 ICT 领域,主打运维岗位与信令分析。 当前规模:5200 篇主题 / 990 个回答,198 元/年。 加入福利:加入星球后请加爱卫生微信,拉您进知识星球年度陪伴与答疑群——不限量回复您的各种问题,另有群内分享。 AI 加持:51学通信知识星球已作为 skill 接入 WorkBuddy,使用 deepseek-4-flash 在海量星球帖子中精准找贴、找视频、找 FAQ 和案例,做总结、找文档和 PPT 等场景全覆盖。
