代码语言

知识点思维导图

29 个知识节点

Claude Code(02) - 安装与第一次对话

读完后,你应能完成以下任务:

  • 绘制“Claude Code(02) - 安装与第一次对话 / 安装前你需要什么”的关键对象与数据流,解释“首次练习不要在 home 目录或包含大量无关文件的父目录启动。”,并用源码位置、日志或 Trace 标注证据。
  • 为“Claude Code(02) - 安装与第一次对话 / 第一次启动与登录”设计正常与异常输入,验证“Claude 账号登录(推荐新手):浏览器弹出授权页,点同意即可。 -> API Key:如果你有 Anthropic API Key,可以配成环境变量 ANTHROPIC_API_KEY。”,输出首个偏差位置与回归测试结果。
  • 实现“Claude Code(02) - 安装与第一次对话 / 首次对话的执行模型”的最小代码或配置,检验“第一次提问不是把整个仓库一次性上传给模型。”,输出命令、结果与 Diff,并说明不适用边界。

本章目标:完成安装、登录认证和只读仓库探索,并能根据版本、认证、目录权限与网络四类信号定位首次启动失败。


一、安装前你需要什么

  • 一个终端(macOS 的 Terminal/iTerm、Windows 的 PowerShell/WSL、Linux 的任意 shell 都行)。
  • 能访问 Claude 服务的网络,以及可用的 Claude 账号或 Anthropic Console 账号。
  • 一个具体的 Git 仓库。首次练习不要在 home 目录或包含大量无关文件的父目录启动。

Claude Code 当前推荐原生安装器; 旧 npm 安装方式已经被官方标记为 deprecated, 因此不应再把 Node.js 作为普通用户的安装前提。


二、安装

macOS / Linux 推荐使用官方安装器:

curl -fsSL https://claude.ai/install.sh | bash

macOS 也可以使用 Homebrew:

brew install --cask claude-code

Windows PowerShell 使用:

irm https://claude.ai/install.ps1 | iex

装完验证一下:

claude --version

能打印出版本号,就装好了。

如果机器里还残留 npm 版本, 先确认 which claudeGet-Command claude 实际命中了哪个可执行文件, 避免旧版本遮蔽原生安装版本。 不要用 sudo claude:它会改变配置目录与文件权限, 反而让普通用户后续无法读取会话。


三、第一次启动与登录

进入任意一个项目目录(重点:Claude Code 是「在某个项目里」工作的), 然后直接敲 claude

cd ~/code/my-project   # 换成你自己的项目
claude

第一次启动会引导你登录认证。两种常见方式:

  1. Claude 账号登录(推荐新手):浏览器弹出授权页,点同意即可。
  2. API Key:如果你有 Anthropic API Key,可以配成环境变量 ANTHROPIC_API_KEY

认证成功后,你会进入交互式对话界面。 认证只解决“你是谁”; Claude Code 能看到什么、能执行什么仍由当前工作目录、权限模式和每次工具授权共同决定。

3.1 首次对话的执行模型

第一次提问不是把整个仓库一次性上传给模型。 Claude Code 会先接收当前目录与规则上下文, 再按任务选择列目录、搜索符号、读取文件或执行命令; 工具结果回到会话后,模型才形成下一步判断。 因此回答是否可信, 要看它引用了哪些实际文件、命令有没有成功, 以及结论能否被你用 git diff、测试或源码再次验证。

这也解释了为什么启动目录很重要:目录过大造成检索噪声,目录过小又会漏掉工作区配置。 一个稳妥边界是仓库根目录; 若是 monorepo,再明确告诉它本次只读哪个 package。


四、跑通第一次对话

别急着让它改代码。 第一次,先让它「读懂」你的项目——这是最安全、最能建立信任的开场。 试试这句:

给我这个仓库的概览

它会做几件事(你能在屏幕上看到每一步):

  1. 列目录、读关键文件(README、package.json 等);
  2. 总结出:这是个什么项目、用了什么技术栈、目录怎么组织。

再追问一句,体会它「带着上下文回答」的能力:

这个项目是怎么启动的?入口在哪?

它会基于刚才读到的内容,直接告诉你启动命令和入口文件——而不是泛泛地讲「一般来说……」。

✅ 跑到这一步,你就完成了第一次对话。恭喜,你已经会用 Claude Code 的「只读模式」了。


五、几个一开始就该知道的操作

  • 退出:输入 /exit 或按 Ctrl+C 两次。
  • 看能用哪些斜杠命令:输入 /,会列出所有可用命令(第 10 章细讲)。
  • 多行输入:想换行而不发送,用 \ 结尾或按对应快捷键(界面里有提示)。
  • 让它停下:它正在干你不想要的事?按 Esc 打断。
  • 继续上次对话:下次进项目想接着聊,用 claude --continue(接最近一次)或 claude --resume(挑一个历史会话)。

六、失败定位:先判断卡在哪一层

现象 优先检查 判断依据 处理方式
claude: command not found 安装与 PATH which claude / Get-Command claude 无结果 重新运行原生安装器并重启终端
能启动但无法登录 认证与网络 浏览器授权是否完成、终端是否显示认证错误 重新登录;公司网络下核对代理与域名策略
回答像通用教程 目录与检索证据 回答没有具体文件路径或符号名 回到仓库根目录,要求先列出证据再回答
工具被拒绝 权限边界 界面明确显示 denied/cancelled 只批准与当前任务匹配的最小操作,不要扩大到整机
修改后无法确认正确 验证链缺失 没有 diff、测试或构建结果 先查看 git diff,再运行最小相关测试

下面四类习惯错误会让上述问题反复出现:

错误 1:在家目录或一个超大目录里启动它 Claude Code 会以当前目录为「项目根」。 在 ~/ 或硬盘根目录启动,它面对成千上万个文件会很懵。 → **永远在具体项目目录里启动。 **

错误 2:第一次就让它改核心代码 你还没建立对它的判断,它也还没摸清你的项目。 → 先用只读问题热身(概览、查找、解释),再逐步放开。

错误 3:装好后用 sudo claude 没必要,还可能引发权限和配置错乱。正常用户身份运行即可。

错误 4:以为它能记住跨项目的一切 每个项目的对话上下文是相对独立的。换项目 = 换一个工作现场。


七、最佳实践

  1. 确认安装来源:优先使用原生安装器,升级后用 claude --version 和命令路径确认没有旧 npm 版本遮蔽。
  2. 项目里先跑 git init(如果还没有):后面它改代码时,你能用 git diff 随时看改了啥,安全感拉满。
  3. 第一次对话只读不写:概览 → 查找 → 解释,三连热身。
  4. 认证信息别外泄:API Key 放环境变量,别写进会提交的文件里。

验收清单

  • 安装:使用官方原生安装器或 Homebrew / WinGet,claude --version 验证。
  • 启动:进具体项目目录,敲 claude,首次会引导登录。
  • 证据:回答至少包含真实文件路径、入口或配置,且你能在仓库中复核。
  • 安全:首次只读,不批准与问题无关的写文件、Shell 或网络操作。
  • 验证:后续发生改动时,以 git diff 和真实测试为准,而不是只看模型自述。

下一章,我们学怎么把话说清楚,让它准确听懂你要干嘛。 👉 04-基础交互.md

八、动手实践:Demo 02 · 一个用来练手的迷你项目

这是一个故意做得很小的示例项目(一个命令行待办清单)。 它的用途是:让你装好 Claude Code 后, 有个真实但不复杂的项目可以练习「第一次对话」。

8.1 怎么用

  1. 新建一个只含 todo.jstodos.json 的练习目录,并在该目录启动 claude
  2. 用这些只读问题热身(不会改任何代码):
    给我这个仓库的概览
    这个项目是怎么运行的?入口在哪?
    解释 @todo.js 里 addTodo 函数的逻辑
    
  3. 感受它「读懂项目后带着上下文回答」的能力。

8.2 项目本身怎么跑(可选)

node todo.js add "学习 Claude Code"
node todo.js list

数据存在同目录的 todos.json(首次运行自动创建)。

九、总结

  • 安装前你需要什么:首次练习不要在 home 目录或包含大量无关文件的父目录启动。
  • 跑通第一次对话:列目录、读关键文件(README、package.json 等); -> 总结出:这是个什么项目、用了什么技术栈、目录怎么组织。
  • 几个一开始就该知道的操作:退出:输入 /exit 或按 Ctrl+C 两次。
  • 失败定位:先判断卡在哪一层:| 能启动但无法登录 | 认证与网络 | 浏览器授权是否完成、终端是否显示认证错误 | 重新登录;
  • 首次对话的执行模型:第一次提问不是把整个仓库一次性上传给模型。

学完自测

选择所有正确答案;提交后逐项核对判断依据。

1在“安装与第一次对话”中,需要同时满足“安装前你需要什么”与“安装”。给定正文约束“因此不应再把 Node.js 作为普通用户的安装前提。”,哪些判断保持了原有处理机制?多选
2“安装与第一次对话”出现偏差:“在“安装与第一次对话 / 第一次启动与登录”中,即使不满足“Claude Code 能看到什么、能执行什么仍由当前工作目录、权限模式和每次工具授权共同决定”,结果与副作用仍会保持不变。”已成为实际行为。围绕“第一次启动与登录”与“首次对话的执行模型”,哪些判断能定位被改变的职责或边界?多选
3评审“安装与第一次对话”方案时,验收条件包含“它会基于刚才读到的内容,直接告诉你启动命令和入口文件——而不是泛泛地讲「一般来说……」。”。关于“跑通第一次对话”与“几个一开始就该知道的操作”的哪些决策符合正文机制?多选