别再到处找教程了:Claude Code 国内安装到实战,看这一篇就够了
最近后台收到很多读者留言,问的都是同一个问题:Claude Code 到底怎么用?网上教程很多,但要么只讲概念不讲操作,要么默认你已经有各种环境配置,跟着做到一半就卡住。更常见的情况是,很多人以为 Claude Code 只是又一个 AI 聊天窗口,装完输入几句中文,发现它给你的回答和 ChatGPT 没什么区别,然后就放弃了。
这里要先纠正一个判断:Claude Code 不是聊天机器人,不是代码补全插件,它是跑在终端里的 AI 编程智能体(Agent)。它能自己读取项目文件、分析代码结构、执行命令、修改代码、运行测试,像一个坐在你旁边的高级工程师,而不是一个只会输出的对话框。真正拉开差距的地方,是你会不会给它清晰的任务描述,也就是“提示词工程”在代码场景下的应用。
这篇文章就是一套完整的 Claude Code 使用教程,从环境准备、安装登录,到项目实战、问题排查,全部用最直接的方式讲清楚。文章里不会出现“自行研究”这种话,每个步骤你都能照着做。全文没有任何需要特殊网络环境的操作,所有内容都以官方渠道和合规方式为前提。
1. 这篇文章真正要解决的问题
先说痛点。
很多开发者接触 AI 编程工具的顺序是这样的:先在网页版对话里让 AI 写一段代码,然后复制粘贴到项目里,报错了再复制错误信息回去问,改完再复制回来。这种工作方式有两个明显问题:第一,AI 上下文不连续,它看不到你的完整项目,每次只能孤立地处理一段代码;第二,人工搬运成本极高,时间都花在复制粘贴和格式调整上。
Claude Code 解决的就是这两个问题。
它直接运行在你的项目目录里,能看到所有文件,能记住你之前的操作,能自己执行命令。你只需要在终端里描述需求,它会完成从读代码、写代码、跑命令到修 bug 的完整流程。这就是所谓的“Agent 能力”。
这篇文章适合下面几类读者:
- 听说过 Claude Code 但不知道如何开始,需要一份从零开始的完整教程;
- 已经开始使用但经常遇到登录失败、网络超时、权限报错,想找系统性的排查方案;
- 想了解 AI 编程 Agent 和传统 Copilot 类工具有什么区别,判断它适不适合自己的项目;
- 想用 Claude Code 写一些小工具,但不想花时间研究复杂的配置。
读完这篇文章,你能独立完成 Claude Code 的安装和登录,能在一个真实项目里让它完成从创建到运行的完整任务,能理解 CLAUDE.md 和提示词工程的基本用法,还能在遇到常见问题时快速定位原因。
2. Claude Code 的核心概念与运行原理
要想用好 Claude Code,先得理解它和普通 AI 编程工具的本质区别。这里用一个比喻来解释。
GitHub Copilot 这类工具像是“高级输入法”。它根据你当前输入的上下文,预测你下一步要写什么,给出代码补全建议。它不会主动修改你的文件,不会自己运行命令,它的世界局限在你正在编辑的这个文件里。
Claude Code 更像是“实习生加结对程序员”。你给它一个任务,它会自己去看项目里的文件结构,找到相关代码,分析问题,制定修改方案,然后动手改。改完之后还会跑测试验证。如果测试挂了,它会尝试修复。整个过程中,它有自己的“思考循环”:读文件、推理、执行、观察结果、再推理。
Claude Code 的完整名字叫 Claude Code CLI,是 Anthropic 官方推出的命令行工具。它不是一个网页服务,而是一个安装在本地、通过命令行交互的程序。当你启动它之后,它会在后台调用 Claude 大模型的能力,并围绕你的项目文件系统执行操作。
它有几个核心概念需要先弄清楚。
2.1 会话(Session)与上下文
每次在终端启动 Claude Code,就开启了一个会话(Session)。在会话里,AI 能记住你刚才说过的话,以及它自己刚才做过的操作。你可以在一个会话里连续提出多个相关任务,它会把之前的操作结果作为后续任务的背景信息。
但是要注意,会话的上下文窗口是有限的,不可能无限记住所有内容。如果项目太大或者任务太多,AI 会逐渐“忘记”比较早的细节。这正是“提示词工程”发挥作用的地方:好的任务描述能让它在有限上下文里抓住关键信息。如果你发现 Claude Code 开始答非所问,或者忽略了之前明确说过的需求,优先检查是不是会话太长导致上下文溢出了,可以使用/clear命令清理会话,重新开启。
2.2 权限模式
Claude Code 有权限控制机制,因为它需要执行终端命令、读写文件。你可以限制它只能在哪些目录下操作,也可以决定每次执行命令前是否需要向你确认。这和给数据库账号设置最小权限是同一个思路:Agent 能力越强,越要控制它的行为边界。
默认情况下,遇到比较敏感的操作它会询问你是否允许。如果某个会话的任务非常明确,你也可以切换成自动执行模式,省去反复确认。但对于新手,更推荐保持确认模式,先看它打算做什么,再放心让它继续。
2.3 CLAUDE.md:项目的记忆文件
这是 Claude Code 最重要的配置文件。
项目根目录下可以放一个CLAUDE.md文件,里面写这个项目的规范、结构、技术栈、注意事项。每次启动 Claude Code 时,它会自动读取这个文件,作为理解项目的基础。简单说,这就是你给 AI 的“入职手册”,让它第一次进入项目就知道代码风格是什么、目录怎么组织、有哪些重要约定。
2.4 与传统 AI 编程工具的对比
| 特性 | 网页版 ChatGPT/Claude | GitHub Copilot | Claude Code |
|---|---|---|---|
| 能否看到完整项目 | 否,只能看到你粘贴的代码 | 否,只能看到当前文件 | 是,能读取整个项目树 |
| 能否执行命令 | 否 | 否 | 是 |
| 能否修改多个文件 | 否 | 局部补全 | 是,能跨文件修改 |
| 是否支持项目级记忆 | 否 | 否 | 是,通过 CLAUDE.md |
| 适用场景 | 问答、单段代码生成 | 写代码加速 | 完整任务开发、重构、调试 |
看完这个对比就明白了:Claude Code 的核心优势不是“写代码更快”,而是“接管任务”。你描述目标,它负责执行过程中的细节决策。这也是为什么学习它的时候,重点不只是学命令,还要学怎么描述一个任务。
3. 环境准备与前置条件
在安装 Claude Code 之前,需要明确几点。Claude Code 是一个 npm 包,这意味着你的电脑上需要先有 Node.js 和 npm。同时,因为工作流涉及版本管理,强烈建议提前安装 Git。
先说结论:Claude Code 对操作系统的要求并不高,Windows、macOS、Linux 都能运行。但在 Windows 上体验最佳的方式是通过 WSL(Windows Subsystem for Linux)。原因很简单:Claude Code 作为终端 Agent,需要执行大量 Shell 命令,WSL 环境下的类 Unix 命令支持比原生 CMD 和 PowerShell 更完整。如果你没有 WSL,也可以直接用,但遇到 Shell 兼容性问题时,很可能是这个原因导致的。
3.1 安装 Node.js
Node.js 的安装方法根据操作系统不同略有差异,核心要求是版本不要太低。Claude Code 对 Node.js 版本有最低要求,如果你安装的是比较老的 LTS 版本,建议先升级到最新的 LTS 版本。
Windows 用户可以直接到 Node.js 官网下载安装包,选择 LTS 版本,一路下一步即可。macOS 用户可以用 Homebrew 安装:
brew install node安装完成后,打开终端验证:
node -v npm -v如果两个命令都能输出版本号,说明 Node.js 环境已经就绪。这里真正容易踩坑的是:有些 Windows 用户安装了 Node.js 但没有勾选“Add to PATH”选项,导致在终端输入 node 提示找不到命令。遇到这种情况,重新运行安装包,确认 PATH 选项已勾选,然后重启终端。
3.2 安装 Git
Git 是版本管理工具。Claude Code 在修改文件时,如果能感知到 Git 仓库状态,会主动使用git diff查看修改内容,这能显著提高它对项目状态的判断准确度。建议在任何项目里都先执行git init,再让 Claude Code 开始工作。
Windows 用户可以从 Git 官网下载安装包,安装时保持默认选项即可。macOS 用户可通过 Homebrew 安装:
brew install git验证方式:
git --version3.3 准备一个工作项目目录
不要在系统盘根目录或用户主目录里直接启动 Claude Code,最好单独建一个项目目录。这样有几个好处:一是权限管理更清晰,Claude Code 只在这个目录里操作;二是上下文更聚焦,AI 不会读到一堆无关文件;三是出了问题不会影响整个电脑。
mkdir ~/claude-code-demo cd ~/claude-code-demo git init以上只是环境准备阶段,还没有涉及 Claude Code 本身。如果你在安装 Node.js 或 Git 的过程中遇到问题,先解决基础环境再继续,否则后面每一步都可能被 Node 版本或 PATH 问题卡住。
4. Claude Code 安装与登录配置
环境准备完成后,就进入核心安装环节了。
4.1 安装 Claude Code 命令行工具
Claude Code 通过 npm 全局安装。打开终端,执行:
npm install -g @anthropic-ai/claude-code等待安装完成。安装成功后,执行:
claude --version如果能输出版本号,说明安装成功。如果没有,有可能是 npm 全局安装目录不在 PATH 中。执行下面命令查看全局安装路径:
npm prefix -g然后把这个路径加入到系统 PATH 环境变量中。
4.2 登录与身份验证
Claude Code 的使用必须依赖 Claude 账号或 API Key。需要注意的是,不同账号类型能使用的模型能力和额度都不一样,具体以你实际拥有的账号为准。从目前公开信息看,用户可以通过 Claude 官方网站获取订阅服务,或者通过开发者平台创建 API Key,然后按实际用量计费。如果你所在网络环境无法正常访问官方服务,请自行解决网络环境问题后再继续,本文不讨论任何绕过网络限制的方案。
在终端输入claude启动工具后,会进入交互式界面。首次启动时,它会引导你完成登录。常见的方式有两种:
第一种,如果是通过 Claude 账号订阅方式使用,它可能会生成一个一次性验证码,你需要在浏览器中打开对应链接,输入验证码完成授权。完成之后,终端会显示登录成功。
第二种,如果你是使用 API Key,可以通过设置环境变量来配置。在启动前先导出环境变量:
export ANTHROPIC_API_KEY="你的API Key"这里要特别提醒一个安全原则:不要把你的 API Key 直接写进代码或者提交到 Git 仓库。一旦泄露,别人可以用你的额度调用模型,产生不必要的费用。更推荐的方式是在项目目录下创建.env文件,然后使用direnv之类的工具按目录自动加载环境变量,或者使用系统自带的密钥管理工具。
如果登录过程中报错提示 “your organization has disabled claude subscription access for claude code”,这通常意味着这个账号所属的组织在后台关闭了 Claude Code 的订阅权限。解决方式是在你的 Claude 账号后台检查订阅权限设置,或者切换到个人账号,再或者改用 API Key 方式。
4.3 启动与基础验证
登录完成后,在项目目录下输入:
claude你会进入一个 REPL 交互式界面,提示符类似>。此时你就可以输入自然语言指令了。
第一个建议输入的内容是:
介绍一下当前目录的结构,并告诉我这个项目用了哪些技术栈。如果它正确回答了当前目录里有package.json、src目录等信息,说明 Claude Code 已经能正常读取项目文件系统了。
5. 核心配置:CLAUDE.md、权限模式与模型切换
安装只是开始,真正决定 Claude Code 好不好用的是配置。很多新手装完之后发现它不够智能,大概率是没有把项目和工具配置好。
5.1 使用/init自动生成项目记忆文件
启动 Claude Code 后,输入斜杠命令:
/initClaude Code 会扫描当前项目,分析代码结构和技术栈,然后在项目根目录下生成一份CLAUDE.md文件。这份文件就是它的“入职手册”。
生成之后,建议你手动打开这个文件看看内容,并根据实际情况补充一些项目特有规范。例如:
# 项目规范 ## 技术栈 - 前端:Vue 3 + Vite - 后端:Python FastAPI - 数据库:PostgreSQL ## 代码约定 - 所有 Python 代码需通过 mypy 类型检查 - 前端组件使用 TypeScript 编写 - 数据库迁移文件命名规范:`YYYYMMDD_description.sql` ## 重要目录 - `src/api/`:后端接口代码 - `src/web/`:前端页面代码 - `scripts/`:常用脚本 ## 注意事项 - 不要修改 `dist/` 目录下的文件,它们是构建产物 - 修改数据库结构之前必须先创建迁移文件CLAUDE.md 的内容会被 AI 记住并影响它的每次操作。如果你希望 AI 始终遵循某些规则,写在这里比每次在对话里重复说明更高效。
5.2 三种权限模式
Claude Code 在执行操作前会判断操作的类型。读取文件一般不需要确认,但写文件、执行命令通常需要你授权。实际使用中,它有几种工作模式:
- 默认模式:遇到重要操作前先询问用户是否允许,适合大多数场景;
- 自动接受模式:在设置中开启自动接受后,合法范围内的操作无需每次确认,适合任务明确、风险可控的场景;
- 计划模式:AI 先制定计划,列出要改哪些文件,等用户确认后才动手,适合大型重构任务。
更稳妥的做法是使用默认模式,但对遗留项目或生产仓操作时开启计划模式。这样 AI 先解释“我打算这样做”,你看了觉得没问题,再让它执行。这对维护代码质量很关键。
5.3 多模型切换与本地模型接入
Claude Code 默认使用 Anthropic 的 Claude 模型。但很多社区用户会通过一些配置切换工具来管理不同的模型端点,或者接入本地模型服务。从社区讨论看,cc-switch 是常用的配置切换工具,而 ollama 是在本地运行开源模型的工具。
如果你想把 Claude Code 接到本地模型,原理上是通过修改模型提供方的基础地址(Base URL)来实现。例如让 Claude Code 把请求发送到本地http://localhost:11434这样的服务。但这种做法有局限:Claude Code 是为 Claude 官方模型设计的,切换成其他模型后,工具调用能力、上下文长度和指令遵循程度都可能明显下降,只能算实验性玩法,不适合作为日常工作流。如果对本地部署 AI 大模型感兴趣,建议先从 ollama 的基础用法学起,把它单独作为代码辅助工具使用,而不是强行接入 Claude Code。
6. 实战:用 Claude Code 从零创建一个可运行项目
前面的配置做好了,现在进入实战环节。这个实战的目标是:在空目录里,通过对话让 Claude Code 创建一个完整的待办事项(Todo)网页应用,并成功运行。
先创建项目目录:
mkdir todo-app cd todo-app git init启动 Claude Code:
claude在交互界面输入:
请帮我创建一个待办事项网页应用。要求: 1. 使用原生 HTML + CSS + JavaScript,不需要构建工具 2. 支持添加、删除、标记完成待办事项 3. 使用 localStorage 持久化数据 4. 界面简洁美观,支持移动端查看 5. 生成的文件放在当前目录下Claude Code 会开始工作,它会创建index.html、style.css、app.js等文件。你可以看到它每创建一个文件的记录。执行完成后,询问它:
请启动一个本地服务器,让我能在浏览器里预览这个应用。Claude Code 一般会使用 Python 的http.server模块或 Node.js 来启动一个项目服务:
python3 -m http.server 8000接下来,打开浏览器访问http://localhost:8000,你会看到这个待办事项应用已经可以运行了。整个过程不需要你手动写一行代码,但你仍然需要检查 AI 生成的代码是否正确、有没有安全漏洞。
这是一个最小可行的项目骨架示例,Claude Code 生成的代码可能与你实际看到的有所差异,但核心逻辑类似:
<!-- 文件路径:index.html --> <!DOCTYPE html> <html lang="zh-CN"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>待办事项</title> <link rel="stylesheet" href="style.css"> </head> <body> <div class="container"> <h1>我的待办</h1> <form id="todo-form"> <input type="text" id="todo-input" placeholder="输入新的待办事项..." required> <button type="submit">添加</button> </form> <ul id="todo-list"></ul> </div> <script src="app.js"></script> </body> </html>/* 文件路径:style.css */ * { margin: 0; padding: 0; box-sizing: border-box; } body { font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif; background: #f5f5f5; display: flex; justify-content: center; padding: 40px 16px; } .container { width: 100%; max-width: 500px; background: #fff; border-radius: 12px; padding: 24px; box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1); } h1 { text-align: center; margin-bottom: 20px; color: #333; } #todo-form { display: flex; gap: 8px; margin-bottom: 16px; } #todo-input { flex: 1; padding: 10px 12px; border: 1px solid #ddd; border-radius: 6px; font-size: 16px; } button { padding: 10px 16px; background: #4a6cf7; color: #fff; border: none; border-radius: 6px; cursor: pointer; font-size: 14px; } button:hover { background: #3a5cd9; } #todo-list { list-style: none; } .todo-item { display: flex; align-items: center; gap: 10px; padding: 12px 0; border-bottom: 1px solid #f0f0f0; } .todo-item.completed span { text-decoration: line-through; color: #999; } .todo-item span { flex: 1; }// 文件路径:app.js const form = document.getElementById('todo-form'); const input = document.getElementById('todo-input'); const list = document.getElementById('todo-list'); // 从 localStorage 读取数据 function loadTodos() { const todos = localStorage.getItem('todos'); return todos ? JSON.parse(todos) : []; } // 保存数据到 localStorage function saveTodos(todos) { localStorage.setItem('todos', JSON.stringify(todos)); } // 渲染列表 function render() { const todos = loadTodos(); list.innerHTML = ''; todos.forEach((todo, index) => { const li = document.createElement('li'); li.className = 'todo-item' + (todo.completed ? ' completed' : ''); li.innerHTML = ` <input type="checkbox" ${todo.completed ? 'checked' : ''}>claude输入:
scripts/process_data.py 偶尔会报 ZeroDivisionError,帮我定位可能出问题的位置,并修复这个问题。修复后请运行测试命令验证。Claude Code 会读取这个文件,分析哪些除法运算可能出现除数为零的情况,然后给出修复方案。比如它会发现某一行计算百分比时没有对分母为零做判断,然后加入保护逻辑:
# 修复前 percentage = count / total * 100 # 修复后 percentage = (count / total * 100) if total != 0 else 0改完后,你让它运行验证:
请运行 python scripts/process_data.py 并确认没有报错。Claude Code 会执行命令并反馈结果。如果还有异常,它会继续迭代修复。
在这个场景里,更要强调一个流程:进入 Claude Code 之前,先确保你的项目已经提交到 Git。这样 AI 每次修改后,你都能通过git diff查看改动内容,不满意可以直接git checkout -- .回滚。这是使用 AI 编程 Agent 时的底线保障,特别是对生产代码,永远不要让 AI 在你没有备份的情况下直接改动。
8. Claude Code 常见问题与排查思路
在安装和使用 Claude Code 的过程中,有几个问题出现的频率非常高,这里逐一列出排查方式。
| 问题现象 | 可能原因 | 排查方式 | 解决方案 |
|---|---|---|---|
| 执行 claude 提示 command not found | npm 全局目录不在 PATH | 执行npm prefix -g查看路径 | 将该路径加入系统 PATH 环境变量 |
| 安装时网络超时 | 当前网络访问 npm 源不稳定 | 切换为国内 npm 镜像源 | 执行npm config set registry https://registry.npmmirror.com后重试 |
| 登录时报错 your organization has disabled claude subscription access for claude code | 账号所属组织在后台禁用了 Claude Code | 登录 Claude 账号后台检查订阅权限 | 切换个人账号或改用 API Key 方式 |
| 连接服务时长时间无响应 | 网络环境无法正常访问 Claude API | 检查网络连通性 | 确认访问环境满足要求后重试 |
| AI 回复内容与项目无关 | 当前目录不是目标项目,或 Claude.md 不存在 | 执行pwd查看当前路径 | 切换到正确项目目录,或运行/init生成项目文件 |
| 会话太长导致 AI 遗忘之前需求 | 上下文窗口已满 | 检查对话是否很长 | 使用/clear清理会话,在新会话中重新关键需求 |
| AI 修改的文件不是你想改的 | 项目文件太多,AI 找不到重点 | 在任务描述中指定目标文件或关键词 | 使用@scripts/process_data.py这种 @文件方式定位单个文件 |
| 自动执行删除命令而没有提示 | 权限模式被设置为自动接受 | 检查权限模式配置 | 改回默认确认模式,对敏感操作保持人工确认 |
如果在 Windows 上遇到有些命令无法执行,优先检查是否使用了 WSL。很多 Shell 兼容性问题通过切换到 WSL 环境能直接解决。
另外有一个容易被忽略的点:如果你在终端里设置了 HTTP 代理环境变量,比如http_proxy或https_proxy,这可能导致 Claude Code 的请求走错路由,出现异常。排查时可以执行env | grep -i proxy查看是否有残留代理配置,然后unset http_proxy https_proxy后再试。
9. 最佳实践与工程建议
经过安装、配置、实战这几个阶段后,最后总结一些对实际项目最有用且容易踩坑的建议。
9.1 小步提交,随时回滚
使用 Claude Code 时,最危险的场景就是让它连续修改多个文件,然后一次性执行完。一旦中途出错,问题定位会非常困难。正确做法是把一个大任务拆分。比如“实现用户登录功能”可以拆成“创建用户模型”、“写注册接口”、“写登录接口”、“写前端页面”四步。每一步完成后,人工 review 代码,确认没问题再提交一次 Git commit。
这样做的好处是:任何一个环节出了问题,都能到最近的提交点回滚。
9.2 代码审查不可省略
Claude Code 生成的代码在语法上通常没问题,但在业务语义、安全性和性能上未必合适。尤其是涉及数据库操作、本地文件删除、权限控制这些敏感功能时,人工审查是绝对底线。建议每次 AI 修改后执行:
git diff认真看每一处改动,不要因为“它是 AI 写的”就放松警惕。
9.3 不要把密钥和敏感信息放入对话
在你的对话中,不要贴 API Key、数据库密码、内部域名等敏感信息。Claude Code 的调用过程涉及外部服务,信息安全层面存在不确定性。正确做法是只让 AI 负责代码逻辑,敏感信息一律通过环境变量注入,并且在对话中只写“使用 .env 文件中的 DB_PASSWORD”。
9.4 让 CLAUDE.md 成为信息中心
CLAUDE.md 不只是给 AI 看的“项目说明书”,也是团队协作的辅助文档。它记录的技术栈、命令、规范,对新人了解项目也有很大价值。团队里可以约定:所有项目公共信息都写进 CLAUDE.md,而不是散落在群聊或个人笔记里。
9.5 时刻注意:AI 是加速器,不是决策者
Claude Code 的安全边界很简单:通过 Git 控制版本,通过权限模式控制操作范围,通过人工审查控制最终质量。如果把这三件事做好,AI 编程是安全的。但如果把整个项目生命周期完全交给 AI,不设卡点、不做审查、不控制权限,那风险就会成倍放大。
从工程角度看,AI 编程 Agent 目前更适合被定位成“高级结对程序员”,而不是“无人值守的自动开发系统”。它帮你把时间从写代码上解放出来,让你有更多精力去思考“代码要解决什么问题”。
10. 总结与后续学习方向
这篇文章从 Claude Code 是什么讲起,解释了它和普通 AI 编程工具的区别,然后完整演示了从环境准备、安装登录、核心配置到代码实战的全过程。如果你按步骤操作下来,现在应该已经能在终端里用自然语言驱动它完成项目创建和问题修复了。
对你来说,下一步更值得投入的方向是把提示词工程练好。Claude Code 的能力上限不取决于模型本身,而取决于你能不能把意图描述清楚。同样一句“帮我修修这个代码”,新手给出的信息量和有经验的工程师完全不一样。后者会描述错误现象、告知相关文件、指定验证方式、给出禁止修改的边界。这些都属于提示词工程的范畴。
Claude Code 官方文档、社区里的示例配置、以及各种实战项目,都是很好的进一步学习资源。你可以从一个小的命令行工具开始,把一个真实需求交给它独立完成,在过程中体会“怎么看它写的代码”“怎么让它改得更符合预期”。这些能力一旦形成,你以后接触其他 AI Agent 编程工具也能快速上手。
建议收藏这篇文章,需要的时候翻出来对照操作。如果安装或使用中遇到文章没覆盖到的问题,可以按“问题现象 → 排查日志 → 按链路检查”的方式一步步定位,大多数问题都出在网络环境、Node 版本或 PATH 配置这些基础环节上。