本教程面向零基础读者,带你完成 Claude Code 的安装、账号登录、项目初始化与首个开发任务。你将学会核心交互方式(交互模式、斜杠命令、CLAUDE.md 记忆文件),并独立完成一个可运行的 TODO 命令行应用。全程约 60 分钟,无需任何 AI 编程工具使用经验。
| 项目 | 要求 | 检查命令 |
|---|---|---|
| 操作系统 | macOS / Linux / Windows(原生或 WSL) | — |
| Node.js | 18 或更高版本 | node --version |
| 终端 | 任意终端或命令提示符 | — |
| 账号 | Claude.ai 订阅账号(推荐)或 Anthropic Console 账号 | — |
如果 Node.js 未安装,访问 https://nodejs.org 下载 LTS 版本,或使用版本管理器:
# 使用 nvm 安装 Node.js(Linux/macOS)
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.40.1/install.sh | bash
nvm install --lts
node --version # 应输出 v18.x 或更高
Claude Code 提供两种安装方式,任选其一。
npm install -g @anthropic-ai/claude-code
# macOS / Linux / WSL
curl -fsSL https://claude.ai/install.sh | bash
# Windows PowerShell
irm https://claude.ai/install.ps1 | iex
安装完成后验证:
claude --version
# 预期输出:2.x.x(版本号随更新变化)
常见问题 1:npm install -g 报权限错误(EACCES)
不要使用 sudo,修复 npm 全局目录权限或改用原生安装方式:
mkdir ~/.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
常见问题 2:claude 命令找不到
PATH 未包含 npm 全局 bin 目录。执行 npm config get prefix 找到路径,将 <prefix>/bin 加入 PATH 后重新打开终端。
常见问题 3:企业网络下安装超时
设置镜像或代理:
npm config set registry https://registry.npmmirror.com
在任意目录启动:
claude
首次启动会进入浏览器完成 OAuth 登录,两种账号均可:
登录成功后凭据存储在本地,之后无需重复登录。如果在会话中需要切换账号,使用 /login 命令。
常见问题:浏览器无法打开(远程 SSH 服务器场景)
启动时按住提示复制认证 URL,在本地浏览器打开完成授权后,把回调码粘贴回终端即可。
登录后你会看到:
✻ Welcome to Claude Code!
...
> Try "create a util logging.py that..."
底部以 > 开头的输入框就是你的对话入口。先记住几个保命快捷键:
| 按键/命令 | 作用 |
|---|---|
Esc |
立即中断 Claude 当前操作(上下文保留) |
Esc 连按两次 或 /rewind |
打开回滚菜单,恢复到之前的代码/对话状态 |
Ctrl+C |
退出程序 |
/clear |
清空对话历史,重置上下文 |
/help |
查看所有可用命令 |
Claude Code 的每一个动作都在你的监督之下:它要读文件、写文件、执行命令前都会弹出确认框,你可以选择允许一次、允许本会话或拒绝。新手阶段建议逐条审阅,熟悉后再放开权限。
创建一个空的 Node.js 项目作为练习场:
mkdir todo-app && cd todo-app
npm init -y
git init
claude
进入会话后,第一个任务建议是了解项目而不是写代码:
> 这个项目当前是什么结构?帮我初始化一个规范的 package.json
Claude 会读取目录内容、给出分析,然后提议修改并等待你确认。你也可以用内置命令一键生成项目记忆文件:
> /init
/init 会分析代码库的构建系统、测试框架和代码风格,生成一份 CLAUDE.md。这个文件会在每次会话启动时自动加载,相当于给 Claude 的工作交接文档。
CLAUDE.md 是 Claude Code 最重要的配置文件,有四个层级,由高到低:
flowchart TD
A["企业策略<br/>/etc/claude-code/CLAUDE.md<br/>IT 统一下发"] --> B["用户全局<br/>~/.claude/CLAUDE.md<br/>个人所有项目生效"]
B --> C["项目共享<br/>./CLAUDE.md<br/>提交到 Git 团队共享"]
C --> D["项目本地<br/>./CLAUDE.local.md<br/>个人笔记不入库"]
style A fill:#e8eaf6
style B fill:#c5cae9
style C fill:#9fa8da
style D fill:#7986cb
在项目根目录手动创建一个简洁的 CLAUDE.md:
# 项目约定
## 命令
- 运行测试:npm test
- 启动开发:node index.js
## 代码风格
- 使用 ES modules(import/export),不用 CommonJS
- 所有函数必须有 JSDoc 注释
## 工作流
- 完成代码修改后必须运行 npm test 验证
- 不要自动 git commit,先给我看改动
写 CLAUDE.md 的三条黄金法则:
还有一个即时技巧:在输入框中以 # 开头输入一句话,Claude 会问你要存入哪个记忆文件,这是积累项目规则最快的方式。
现在让 Claude 真正写代码。输入:
> 创建一个 TODO 命令行应用:
> 1. 用 index.js 实现添加、列出、完成三个命令
> 2. 数据存储在 todos.json
> 3. 附带完整的测试文件,写完后运行测试验证
Claude Code 的工作循环如下:
flowchart LR
A[理解任务] --> B[探索现有代码]
B --> C[提出修改方案]
C --> D{用户确认?}
D -- 允许 --> E[执行编辑/命令]
D -- 拒绝 --> C
E --> F[运行测试验证]
F -- 失败 --> B
F -- 通过 --> G[汇报结果]
G --> H[等待下一个任务]
style F fill:#c8e6c9
预期结果:你会依次看到它创建 index.js、todos.json、test/todo.test.js,每次写文件前弹出确认框;最后自动执行 npm test,终端输出全部通过的测试结果。这就是 Claude Code 与普通聊天机器人的本质区别——它给 Claude 一个可运行的验证手段,失败就自己迭代直到通过。
常见问题 1:生成的代码不符合我的习惯
中途按 Esc 打断,说“改用 async/await 重新实现”。纠正同一问题超过两次时,更好的做法是 /clear 清空重来,把你的要求写得更具体,或沉淀到 CLAUDE.md。
常见问题 2:它改错了文件,我想撤销
连按两次 Esc 打开 rewind 菜单,可以单独恢复代码、单独恢复对话,或两者都恢复。Claude 在每次修改前都会自动创建检查点。
常见问题 3:会话变长了,回答质量下降
上下文(context window)是有限资源,塞满了文件内容和命令输出后性能会退化。处理无关任务前先 /clear;想在保留要点的同时释放空间,用 /compact 保留 API 变更相关内容 定向压缩。
| 命令 | 用途 | 示例 |
|---|---|---|
claude |
启动交互会话 | claude |
claude "任务" |
启动并直接给任务 | claude "修复构建错误" |
claude -p "问题" |
非交互执行后退出,适合脚本 | claude -p "解释这个函数" |
claude -c |
继续最近一次对话 | claude -c |
claude -r |
从历史会话列表中选择恢复 | claude -r |
claude commit |
生成描述性 Git 提交 | claude commit |
claude update |
升级到最新版本 | claude update |
/permissions |
管理工具权限白名单 | 会话内输入 |
两个实用组合:
# 管道输入:把日志喂给 Claude 分析
cat error.log | claude -p "找出异常并给出修复建议"
# 指定输出格式,便于程序解析
claude -p "列出所有API端点" --output-format json
以下是完整的项目产物,你可以直接对照检查 Claude 的输出(也适合手工搭建后让 Claude 增强功能)。
index.js:
#!/usr/bin/env node
import fs from 'fs';
import { Command } from 'commander';
const program = new Command();
const DB_FILE = './todos.json';
function loadTodos() {
try {
return JSON.parse(fs.readFileSync(DB_FILE, 'utf-8'));
} catch {
return [];
}
}
function saveTodos(todos) {
fs.writeFileSync(DB_FILE, JSON.stringify(todos, null, 2));
}
program.command('add <text...>')
.description('添加一条待办')
.action((text) => {
const todos = loadTodos();
todos.push({ id: Date.now(), text: text.join(' '), done: false });
saveTodos(todos);
console.log(`已添加: ${text.join(' ')}`);
});
program.command('list')
.description('列出全部待办')
.action(() => {
const todos = loadTodos();
if (!todos.length) return console.log('暂无待办');
todos.forEach(t =>
console.log(`${t.done ? '[x]' : '[ ]'} #${t.id} ${t.text}`));
});
program.command('done <id>')
.description('标记完成')
.action((id) => {
const todos = loadTodos();
const todo = todos.find(t => t.id === Number(id));
if (!todo) return console.log('未找到该条目');
todo.done = true;
saveTodos(todos);
console.log(`已完成: ${todo.text}`);
});
program.parse();
test/todo.test.js(使用 Node 内置测试器,零依赖):
import { test } from 'node:test';
import assert from 'node:assert';
import { execSync } from 'node:child_process';
const run = (args) =>
execSync(`node index.js ${args}`, { encoding: 'utf-8' });
test('添加并列表显示', () => {
run('add "写周报"');
const out = run('list');
assert.match(out, /\[ \].*写周报/);
});
test('标记完成后状态更新', () => {
run('add "买菜"');
const list = run('list');
const id = list.match(/#(\d+) 买菜/)[1];
run(`done ${id}`);
assert.match(run('list'), /\[x\].*买菜/);
});
在 package.json 中加入 "test": "node --test" 后运行 npm test,两个测试全部通过即完成。整个过程只需要一条自然语言指令,Claude 独立完成了文件创建、依赖选择和测试验证。
/命令# 快捷记忆机制-p 非交互模式完整定义[!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 等场景全覆盖。
