首页 › tutorials › Claude Code从零起步:安装到首个项目交付

Claude Code从零起步:安装到首个项目交付

学习目标:从完全不了解Claude Code到独立完成安装、认证、配置,并构建第一个可运行的AI辅助编程项目。 适用人群:零基础开发者、从其他AI工具转过来的程序员、想系统入门Claude Code的技术人员。 预计用时:60-90分钟(含环境安装)。


一、Claude Code是什么——30秒理解核心定位

Claude Code是Anthropic官方推出的终端AI编程代理。它不是一个IDE插件,不是一个网页聊天框,而是一个直接运行在你的终端里、能读写你本地文件、执行Shell命令、与Git深度集成的命令行工具。

与GitHub Copilot的"行内补全"模式、Cursor的"编辑器内嵌"模式不同,Claude Code采用了Agent模式——你给出一个目标,它自主规划步骤、读取文件、编写代码、运行测试、修复错误,形成一个完整的执行闭环。

graph LR
    A[你输入目标] --> B[Claude Code<br/>规划执行步骤]
    B --> C[读取文件]
    B --> D[编写/修改代码]
    B --> E[运行命令]
    B --> F[运行测试]
    C --> G[检查结果]
    D --> G
    E --> G
    F --> G
    G -->|有问题| B
    G -->|完成| H[交付结果]

它与Copilot/Cursor的核心区别

维度 GitHub Copilot Cursor Claude Code
运行环境 IDE内嵌 独立IDE 终端CLI
交互方式 行内补全/聊天 聊天/内联编辑 对话式Agent
文件操作 受限 中等 完全读写
Shell执行 不支持 受限 完整支持
Git集成 基础 中等 深度(自动commit/diff)
自定义能力 有限 中等 极强(CLAUDE.md/Skills/MCP)
学习曲线 低 中 中高(但上限极高)

一句话总结:如果你需要一个"坐在你旁边、能直接操作电脑的AI程序员",Claude Code就是目前最接近这个概念的工具。


二、环境准备——安装前必查清单

2.1 系统要求

项目 最低要求 推荐配置
操作系统 macOS 12+、Ubuntu 20.04+、Windows 10+ (WSL2) macOS 14+、Ubuntu 22.04+
Node.js v18.0+ v20 LTS
内存 4GB RAM 8GB+ RAM
网络 稳定的互联网连接 低延迟连接
Git 2.0+ 最新版

2.2 安装Node.js(如果还没装)

macOS(推荐用Homebrew):

# 安装Homebrew(如果没有)
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"

# 安装Node.js
brew install node

# 验证安装
node --version   # 应输出 v20.x.x 或更高
npm --version    # 应输出 10.x.x 或更高

Linux(Ubuntu/Debian):

# 使用NodeSource安装Node.js 20 LTS
curl -fsSL https://deb.nodesource.com/setup_20.x | sudo -E bash -
sudo apt-get install -y nodejs

# 验证
node --version
npm --version

Windows(必须通过WSL2):

# 在PowerShell(管理员)中安装WSL2
wsl --install

# 重启后,打开WSL终端(Ubuntu),然后执行Linux安装步骤

Windows用户注意:Claude Code不原生支持Windows。你必须先安装WSL2(Windows Subsystem for Linux),在WSL2的Ubuntu环境中运行Claude Code。这是目前唯一的官方方案,不要尝试在PowerShell或CMD中直接安装。

2.3 安装Git

# macOS
brew install git

# Linux
sudo apt-get install git

# 验证
git --version   # 应输出 git version 2.x.x

# 初始配置(必须)
git config --global user.name "你的名字"
git config --global user.email "你的邮箱"

三、安装Claude Code——三种认证路径

3.1 核心安装命令(所有平台通用)

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

安装完成后验证:

claude --version
# 应输出类似:Claude Code v1.x.x

3.2 认证方式选择

Claude Code支持多种认证方式,根据你的账户类型选择:

graph TD
    A[开始认证] --> B{你有哪种账户?}
    B -->|Claude Pro/Max订阅| C[OAuth登录<br/>claude login]
    B -->|Anthropic API Key| D[环境变量<br/>ANTHROPIC_API_KEY]
    B -->|企业账户| E[SSO/Azure/Bedrock]
    C --> F[✅ 可以开始使用]
    D --> F
    E --> F

路径一:Claude Pro/Max订阅用户(推荐新手)

claude login

执行后会打开浏览器,登录你的Claude账户并授权。完成后终端显示认证成功。

路径二:Anthropic API Key(适合开发者)

# 1. 在 console.anthropic.com 创建API Key
# 2. 设置环境变量

# macOS/Linux(临时)
export ANTHROPIC_API_KEY="sk-ant-api03-xxxxx"

# macOS/Linux(永久,写入shell配置文件)
echo 'export ANTHROPIC_API_KEY="sk-ant-api03-xxxxx"' >> ~/.zshrc
source ~/.zshrc

# 验证
claude --version

路径三:企业用户

# Azure OpenAI
export CLAUDE_CODE_USE_BEDROCKETC=1

# AWS Bedrock  
export CLAUDE_CODE_USE_BEDROCK=1

# 具体配置参考企业内部文档

3.3 安装验证——第一次启动

# 创建一个测试目录
mkdir ~/claude-hello && cd ~/claude-hello

# 初始化Git(强烈推荐)
git init

# 启动Claude Code
claude

你将看到Claude Code的交互式界面:

╭──────────────────────────────────────╮
│  Claude Code                          │
│  Model: claude-sonnet-4-6-20250514    │
│  Context: /home/user/claude-hello     │
╰──────────────────────────────────────╯

>

在 > 提示符下输入你的第一条指令:

> 你好,请简单介绍你自己,并告诉我你能做什么

如果Claude正常回复,恭喜你——安装成功!

输入 /exit 或按 Ctrl+C 退出。


四、核心概念速览——10分钟掌握基础操作

4.1 两种运行模式

graph TB
    subgraph "交互模式(Interactive)"
        A1[输入 claude] --> A2[进入REPL对话]
        A2 --> A3[多轮连续对话]
        A3 --> A4[上下文保持]
    end
    subgraph "单次模式(One-shot)"
        B1[claude -p '任务描述'] --> B2[执行一次]
        B2 --> B3[输出结果并退出]
    end

交互模式(日常使用主力):

cd your-project
claude
# 进入交互式对话

单次模式(脚本/自动化用):

claude -p "列出当前目录下所有TypeScript文件并统计代码行数"

4.2 必知的Slash命令

在交互模式中,以下命令用 / 开头,是Claude Code的内置快捷操作:

命令 功能 使用频率
/help 查看所有可用命令 首次必用
/init 自动生成CLAUDE.md项目说明文件 每个项目一次
/compact 压缩对话上下文,释放token空间 经常用
/clear 清空当前对话历史 中等
/model 切换模型(Sonnet/Opus/Haiku) 按需
/permissions 管理工具权限 按需
/cost 查看本次会话的token消耗 定期查看
/review 让Claude审查代码变更 提交前用
/bug 提交Bug报告 偶尔
/exit 退出Claude Code 结束时

4.3 必知的键盘快捷键

快捷键 功能
Enter 发送消息(在普通模式下)
Shift+Enter 换行(不发送)
Ctrl+C 中断当前操作/退出
Escape 取消当前输入/取消工具调用确认
↑/↓ 浏览历史输入
Tab 自动补全文件路径

4.4 理解权限系统——Claude Code的安全边界

Claude Code每次执行写操作(修改文件、运行Shell命令)前都会征求你的确认。这是它的核心安全机制。

┌─ Claude wants to edit src/index.ts ─────────────────────┐
│                                                          │
│  + import express from 'express';                        │
│  + const app = express();                                │
│                                                          │
│  Allow? (y/n/always)                                    │
└──────────────────────────────────────────────────────────┘

你可以选择: - y:允许这一次 - n:拒绝 - always:对此类操作永远允许(加入信任列表)

新手建议:初期每个操作都手动确认(按y/n),这样能理解Claude Code在做什么。熟练后可以用 /permissions 或 settings.json 配置信任规则。


五、CLAUDE.md——给Claude Code一份"项目说明书"

CLAUDE.md是Claude Code最核心的配置机制。它就像一份给AI看的项目README,每次启动Claude Code时自动加载。

5.1 快速生成

cd your-project
claude

在Claude Code交互界面中输入:

> /init

Claude会自动扫描你的项目结构,生成一份初始的 CLAUDE.md 文件。内容通常包括: - 项目描述 - 技术栈 - 目录结构说明 - 构建和测试命令 - 代码风格约定

5.2 手动编写模板

如果你刚开始一个全新项目,可以手动创建:

# CLAUDE.md

## 项目概述
一个使用Express.js + TypeScript构建的RESTful API服务。

## 技术栈
- Runtime: Node.js 20 LTS
- Language: TypeScript 5.x
- Framework: Express.js 4.x
- Database: SQLite (开发环境)
- Testing: Vitest

## 常用命令
- `npm run dev` — 启动开发服务器
- `npm run build` — 编译TypeScript
- `npm test` — 运行测试
- `npm run lint` — 代码检查

## 代码风格
- 使用ESLint + Prettier
- 缩进:2空格
- 命名:camelCase(变量/函数),PascalCase(类/接口)
- 注释:英文注释

## 目录结构
- `src/` — 源代码
- `src/routes/` — 路由定义
- `src/models/` — 数据模型
- `src/middleware/` — 中间件
- `tests/` — 测试文件

## 重要规则
- 所有新代码必须有对应的测试
- API端点必须包含输入验证
- 错误处理使用统一的中介层
- 不要使用any类型

5.3 CLAUDE.md的层级结构

graph TD
    A["~/.claude/CLAUDE.md<br/>(全局,所有项目生效)"] --> B["项目根目录/CLAUDE.md<br/>(项目级,核心)"]
    B --> C["子目录/CLAUDE.md<br/>(目录级,局部覆盖)"]

    style A fill:#e8f4fd,stroke:#2196F3
    style B fill:#fff3e0,stroke:#FF9800
    style C fill:#e8f5e9,stroke:#4CAF50

六、实战:从零构建第一个项目——任务管理API

现在让我们用Claude Code从零开始构建一个完整的Express.js RESTful API项目。这个项目包含CRUD操作、数据验证和测试。

6.1 创建项目骨架

# 创建项目目录
mkdir ~/task-api && cd ~/task-api

# 初始化Git
git init

# 初始化Node.js项目
npm init -y

启动Claude Code:

claude

6.2 第一个指令——项目初始化

在Claude Code交互界面中输入:

> /init

Claude会分析当前项目(此时只有package.json),生成一份基础CLAUDE.md。

然后输入你的开发需求:

> 我想用Express.js + TypeScript构建一个任务管理API。
> 功能包括:
> 1. 创建任务(POST /tasks)
> 2. 获取所有任务(GET /tasks)
> 3. 获取单个任务(GET /tasks/:id)
> 4. 更新任务(PUT /tasks/:id)
> 5. 删除任务(DELETE /tasks/:id)
> 
> 技术要求:
> - TypeScript
> - Express.js
> - 内存存储(使用Map)
> - 输入验证
> - 错误处理中间件
> - Vitest测试
> 
> 请先安装依赖,然后创建项目结构。

6.3 Claude Code的执行过程

Claude Code会依次执行以下操作(每步需要你确认):

Step 1: 安装依赖
  $ npm install express
  $ npm install -D typescript @types/express @types/node vitest tsx

Step 2: 创建目录结构
  src/
  ├── index.ts          # 入口文件
  ├── routes/
  │   └── tasks.ts      # 任务路由
  ├── models/
  │   └── task.ts       # 任务模型
  ├── middleware/
  │   └── errorHandler.ts  # 错误处理
  └── types/
      └── index.ts      # 类型定义

Step 3: 编写代码文件

Step 4: 创建测试文件

Step 5: 更新package.json scripts

你会看到Claude Code逐个请求权限来创建文件、安装依赖。每个操作都有diff展示,你可以审查后按 y 确认。

6.4 关键代码结构示例

以下是Claude Code可能会生成的核心文件:

src/types/index.ts:

export interface Task {
  id: string;
  title: string;
  description?: string;
  completed: boolean;
  createdAt: Date;
  updatedAt: Date;
}

export interface CreateTaskInput {
  title: string;
  description?: string;
}

export interface UpdateTaskInput {
  title?: string;
  description?: string;
  completed?: boolean;
}

src/models/task.ts:

import { Task, CreateTaskInput, UpdateTaskInput } from '../types';

const tasks = new Map<string, Task>();

export function findAll(): Task[] {
  return Array.from(tasks.values());
}

export function findById(id: string): Task | undefined {
  return tasks.get(id);
}

export function create(input: CreateTaskInput): Task {
  const task: Task = {
    id: crypto.randomUUID(),
    title: input.title,
    description: input.description,
    completed: false,
    createdAt: new Date(),
    updatedAt: new Date(),
  };
  tasks.set(task.id, task);
  return task;
}

export function update(id: string, input: UpdateTaskInput): Task | undefined {
  const task = tasks.get(id);
  if (!task) return undefined;
  Object.assign(task, { ...input, updatedAt: new Date() });
  return task;
}

export function remove(id: string): boolean {
  return tasks.delete(id);
}

6.5 运行与测试

Claude Code生成的代码通常包含完整的测试。继续在对话中输入:

> 请运行测试,确保所有测试通过

Claude Code会执行:

npm test

预期输出类似:

 ✓ models/task > create > 应该创建新任务
 ✓ models/task > findAll > 应该返回所有任务
 ✓ models/task > findById > 应该根据ID查找任务
 ✓ models/task > update > 应该更新任务属性
 ✓ models/task > remove > 应该删除任务

 Test Files  1 passed (1)
  Tests  5 passed (5)

然后启动开发服务器:

> 请启动开发服务器,并测试所有API端点

Claude Code会运行 npm run dev 并用 curl 测试各个端点。

6.6 提交代码

> 请帮我提交这次的代码,commit message用中文

Claude Code会: 1. 运行 git status 查看变更 2. 运行 git diff 审查内容 3. 执行 git add 和 git commit

6.7 持续迭代——修改需求

Claude Code最大的优势是迭代式开发。你可以继续提出新需求:

> 请给任务添加优先级字段(high/medium/low),
> 并添加按优先级筛选的查询参数 ?priority=high

Claude Code会: 1. 修改类型定义,添加priority字段 2. 修改创建逻辑,接受priority参数 3. 修改查询逻辑,支持筛选 4. 添加新测试 5. 运行测试验证

每次只需要你确认操作,Claude Code完成所有编码工作。


七、费用控制——新手必知的省钱技巧

7.1 三种付费方式对比

方式 月费 适用场景 预算可控性
Claude Pro $20/月 轻度使用,学习阶段 固定费用
Claude Max $100-200/月 日常开发主力 固定费用
API Key 按token计费 重度/自动化使用 需主动监控

7.2 省钱核心技巧

技巧一:使用 /compact 压缩上下文

> /compact

当对话变长时,上下文token消耗会急剧增加。每完成一个大任务后执行 /compact,Claude会将历史对话压缩为摘要,大幅减少token消耗。

技巧二:合理选择模型

> /model

技巧三:用CLAUDE.md减少重复解释

把项目规范写进CLAUDE.md,避免每次对话都重新描述项目背景。

技巧四:查看实时费用

> /cost

随时查看当前会话的token消耗和费用。

技巧五:设置费用上限

# 在settings.json中设置每日/每月费用上限
claude config set --global maxCostPerDay 10    # 每天最多$10
claude config set --global maxCostPerMonth 200  # 每月最多$200

八、常见问题与排错指南

8.1 安装阶段

问题 原因 解决方案
npm ERR! EACCES npm全局目录权限不足 使用 nvm 管理Node.js,或 sudo npm install -g
command not found: claude PATH未包含npm全局目录 运行 npm config get prefix,将其加入PATH
Node版本过低 版本<18 升级Node.js:nvm install 20 && nvm use 20

8.2 认证阶段

问题 原因 解决方案
Authentication failed API Key无效或过期 检查Key是否正确,是否有多余空格
Rate limit exceeded 调用频率过高 等待几秒后重试,或升级套餐
claude login浏览器未打开 终端环境不支持 手动复制终端中显示的URL到浏览器

8.3 使用阶段

问题 原因 解决方案
Claude响应越来越慢 上下文过长 执行 /compact 压缩上下文
Claude修改了不该改的文件 权限过于宽松 用 /permissions 限制文件访问范围
Claude忘记之前的指令 上下文溢出被截断 把关键规则写入CLAUDE.md
工具调用被拒绝 权限设置过严 检查 .claude/settings.json 的allowedTools

8.4 Windows WSL特有问题

# 如果WSL中无法打开浏览器进行OAuth认证
# 使用API Key方式代替
export ANTHROPIC_API_KEY="sk-ant-api03-xxxxx"

# 如果文件系统性能差
# 把项目放在WSL原生文件系统中(~/projects/)
# 而不是Windows挂载路径(/mnt/c/)

九、进阶路线图——从入门到熟练

graph TD
    A[✅ 完成本教程<br/>安装+首个项目] --> B[掌握CLAUDE.md<br/>编写高质量项目说明]
    B --> C[学习Slash命令<br/>/init /compact /review]
    C --> D[配置Settings<br/>权限/模型/费用控制]
    D --> E[创建自定义命令<br/>.claude/commands/]
    E --> F[接入MCP服务器<br/>扩展工具能力]
    F --> G[开发Skills<br/>构建可复用工作流]
    G --> H[Agent模式<br/>-p自动化/Hooks]

    style A fill:#4CAF50,color:#fff
    style B fill:#4CAF50,color:#fff
    style C fill:#4CAF50,color:#fff
    style D fill:#FF9800,color:#fff
    style E fill:#FF9800,color:#fff
    style F fill:#2196F3,color:#fff
    style G fill:#2196F3,color:#fff
    style H fill:#9C27B0,color:#fff

本周建议练习: 1. 用Claude Code创建2-3个不同类型的项目(API、CLI工具、前端页面) 2. 尝试修改CLAUDE.md,观察Claude行为的变化 3. 练习用 /compact 管理长对话 4. 尝试让Claude Code修复一个你手动引入的Bug

推荐学习顺序: 1. 本教程(入门) → 掌握安装和基本操作 2. CLAUDE.md深入 → 学会精确控制Claude的行为 3. 自定义命令 → 把重复操作封装为Slash命令 4. MCP服务器 → 连接外部工具(数据库、API、浏览器) 5. Skills开发 → 构建可共享的自动化工作流


十、完整工作流回顾

用一个完整的开发者日常场景串联所有知识点:

sequenceDiagram
    participant D as 开发者
    participant CC as Claude Code
    participant F as 文件系统
    participant G as Git

    D->>CC: cd project && claude
    CC->>F: 读取CLAUDE.md
    F-->>CC: 项目规范加载完成

    D->>CC: "添加用户注册API"
    CC->>F: 读取现有代码
    CC->>CC: 规划实现步骤
    CC->>D: 请求权限:创建 src/routes/auth.ts
    D->>CC: y (允许)
    CC->>F: 写入文件
    CC->>D: 请求权限:创建 tests/auth.test.ts
    D->>CC: y (允许)
    CC->>F: 写入测试文件
    CC->>D: 请求权限:运行 npm test
    D->>CC: y (允许)
    CC->>F: 执行测试命令
    F-->>CC: 5/5 测试通过
    CC->>D: 完成!所有测试通过

    D->>CC: "提交代码"
    CC->>G: git add + git commit
    G-->>CC: 提交成功

    D->>CC: /cost
    CC->>D: 本次会话消耗 15K tokens
    D->>CC: /exit

实战案例:5分钟构建一个CLI工具

让我们用一个更轻量的例子来巩固——创建一个命令行待办事项工具。

mkdir ~/todo-cli && cd ~/todo-cli
npm init -y
git init
claude

在Claude Code中输入:

> 请创建一个Node.js CLI待办事项工具,要求:
> 1. 使用TypeScript
> 2. 命令格式:todo add "买牛奶"、todo list、todo done 1、todo delete 1
> 3. 数据存储在 ~/.todo.json
> 4. 支持彩色终端输出
> 5. 安装所有依赖并确保可以运行

Claude Code会自动: 1. 安装 commander、chalk、typescript 等依赖 2. 创建 src/index.ts 入口文件 3. 创建命令处理模块 4. 配置 package.json 的 bin 字段 5. 运行 npm link 让 todo 命令全局可用

完成后你可以直接在终端中使用:

todo add "学习Claude Code"
todo add "写一篇教程"
todo list
# 输出:
# 1. ☐ 学习Claude Code
# 2. ☐ 写一篇教程

todo done 1
todo list
# 输出:
# 1. ✅ 学习Claude Code
# 2. ☐ 写一篇教程

整个过程你只需要审查并确认Claude Code的操作——从零到一个可用的CLI工具,大约5分钟。


训练营适用性评估

训练营类型 适配度 建议时长 说明
企业新员工入职 ★★★★★ 2小时 含实操环节,帮助新团队统一工具链
AI编程入门班 ★★★★★ 3小时 从安装到首个项目,系统覆盖基础
在校生技能培训 ★★★★☆ 2-3小时 需提前安装Node.js环境
高级开发者快速上手 ★★★☆☆ 1小时 重点讲解Agent模式和权限配置
线上自学课程 ★★★★★ 自定进度 可拆分为6个15分钟的章节

延伸阅读

参考来源

  1. Quickstart - Claude Code Docs — Anthropic官方快速开始指南,涵盖安装、认证和首次使用
  2. Claude Code: Complete Guide to Installation and Getting Started — 2026年完整安装指南,包含CLI和桌面应用
  3. Claude Code Tutorial for Beginners 2026 — 从安装到构建首个项目的完整教程
  4. Advanced setup - Claude Code Docs — 系统要求、平台特定安装和版本管理
  5. Authentication - Claude Code Docs — 支持的认证类型:OAuth、API Key、Azure、Bedrock

[!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 等场景全覆盖。

51学通信知识星球海报-扫码加入