资讯动态

Claude Code 安装实战:从环境准备到首次修改代码

发布时间:2026/10/4 5:56:56 来源:尧图企业网站定制
我自己的电脑里躺着一个跑了三年的内部脚本积了一堆没人敢动的坏味道。某个周一下午我实在受不了翻出 Claude Code对着终端说了一句帮我把这个脚本的错误处理统一一下它花了不到两分钟就把文件拆开、改了七处、跑通测试然后我只需要在编辑器里扫一眼 diff。那一刻我确定这类终端里的 AI 编程工具不是又一个聊天玩具是真的能进日常开发流程的。这篇教程就是写给还没装过、或者装了没跑通的你。我会把 Claude Code 从环境准备、安装、登录认证到对真实项目做第一次代码修改的完整过程拆开讲中间夹着我自己踩过的坑和现在每天都在用的习惯。文章里不会出现花里胡哨的未来趋势只有你照着做就能跑通的东西。1. 动手前先搞明白Claude Code 到底是什么、能做什么1.1 一个终端里能看懂代码的助手而不是另一个网页聊天框很多人第一次听到 Claude Code会下意识以为它是把大模型塞进终端里跟你在网页上问问题差不多。这是最大的误解。网页聊天框的上下文是你手动粘贴进去的代码片段而 Claude Code 是直接跑在你的项目目录里的。它启动之后知道自己当前的工作目录是什么可以主动去读目录结构、打开指定文件、搜索关键词甚至执行命令。你不需要把代码复制来复制去只需要给它一个任务比如这个函数在哪儿被调用为什么这个请求总是超时它自己会去翻代码。我习惯把它理解成一个住在你项目里的实习生。你跟它说话它会翻仓库、改文件、跑测试然后把结果汇报给你。它干的活偏执行层面但每一步需要动文件、动命令的操作都会先问你要许可这也是它和网页版之间最关键的行为差异。1.2 它能碰什么、不能碰什么目录、文件与命令执行的边界Claude Code 并不是一个没有缰绳的万能代理它的能力边界非常明确读取能力可以读取当前工作目录及其子目录下的文件包括代码、配置文件、README 等编辑能力可以修改工作目录里的文件但每次修改前默认需要你确认命令能力可以在你的终端里执行 shell 命令比如运行python、pytest、git status同样需要确认工具扩展能力通过 MCPModel Context Protocol接入外部工具比如数据库查询、浏览器操作、API 调试等这些是后话。有一个边界特别重要它不会主动去动工作目录以外的文件。比如你人在~/projects/demo里启动 Claude Code它就老老实实围着这个项目转不会突然去改你桌面上的简历。这个设计其实很有深意——不是技术做不到而是它刻意把自己限制在项目上下文里降低误操作风险。你可以把权限边界想象成sudo和普通用户的关系。默认状态下 Claude Code 是个普通用户改文件、跑命令都要申请权限你批准了才动手。这种交互模式一开始会让你觉得麻烦但用久了你会庆幸有这层确认机制尤其是改生成代码的时候。1.3 适合谁来用哪些场景真的能省时间从我实际使用的体感出发这几个场景省下的时间最明显重构和清理历史代码老代码逻辑乱、不敢动让 Claude Code 先梳理调用链再小步修改比人肉翻文件快得多写测试用例让它读现有函数按项目风格补单测效果相当不错解释陌生项目新接手一个仓库直接问它这个项目启动流程是什么这个模块为什么这么设计比从头看文档省力批量机械修改比如统一日志格式、替换废弃 API这种活儿人类很容易漏模型反而稳定。反过来不适合的场景也有需要极高权限的大规模系统改造、涉及公司机密数据的处理、或者你没想清楚需求就让 AI 自由发挥。工具是放大器你脑子里的方案越清晰它发挥得越好。2. 装之前先把底层补齐Node.js、Git 和终端环境2.1 Node.js 版本问题为什么建议 18 以上以及用 nvm 管理Claude Code 的官方安装方式是 npm 全局包所以 Node.js 是绕不开的前提。它的运行时对 Node 版本有要求我在实践中发现Node.js 18 以下会碰到各种奇怪的兼容报错。建议直接装 Node.js 18 LTS 或更高版本20 LTS 目前最稳。检查自己有没有装、版本多少打开终端敲node -v npm -v如果两条命令都能输出版本号环境基本就满足要求了。如果提示命令不存在你需要在系统里装一个 Node.js。这里我强烈建议装完 Node 之后再装一个版本管理工具macOS 和 Linux 用户用 nvm 最省心Windows 用户可以考虑 nvm-windows 或 volta。装 nvm 的核心价值在于你可以随时切换 Node 版本不必在遇到版本兼容问题时重新装一遍系统环境。以 macOS/Linux 为例安装 nvm 的常用方式curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.7/install.sh | bash装完重开终端然后nvm install 20 nvm use 20再用node -v确认一下。注意 nvm 的默认源在国内网络环境下可能偶尔拉不动如果你碰到下载超时可以自行搜索 nvm 镜像配置把下载源换成可访问的镜像地址这属于常规操作。2.2 Git 和 PATH 问题最常见的安装失败原因除了 Node.jsGit 也是顺手要装的基础工具。Claude Code 的很多场景依赖 Git 来查看改动、生成 diff、回滚文件。检查方式git --version如果没装macOS 上brew install gitUbuntu 上sudo apt install gitWindows 上装 Git for Windows装完顺手把 Git Bash 也带上。这里插一个很多新手最容易卡住的地方命令装好了但终端告诉你claude: command not found。这几乎都是 PATH 环境变量的问题。npm 全局安装的包会放到一个全局 bin 目录比如 macOS/Linux 常见的是/usr/local/bin或者~/.nvm/versions/node/v20.x.x/binWindows 常见的是%APPDATA%\npm。如果你发现命令不存在先去确认 npm 全局目录在哪npm prefix -g再把对应的 bin 目录加到 PATH 里。macOS/Linux 编辑~/.zshrc或~/.bashrc加一行export PATH$PATH:$(npm prefix -g)/binWindows 用户则去系统环境变量里手动添加。这一条排查逻辑解决的不只是 Claude Code以后你装任何 npm 全局工具都能用上。2.3 三平台环境检查清单我在 Windows、macOS、Linux 上都跑过 Claude Code各自有个最小的环境检查顺序整理成一张表给你照着走平台需要准备检查命令常见坑macOSNode.js、Git、终端node -v; git --version首次跑命令要授权终端访问文件夹WindowsNode.js、Git for Windowsnode -v; git --version提前装好 Windows TerminalCMD 乱码概率高Linux (Ubuntu)Node.js、Git、build-essentialnode -v; git --version; gcc --version某些发行版 npm 全局目录权限不足考虑 chown 或改用 nvmWindows 用户如果用的是 WSL 环境逻辑跟 Linux 完全一致我建议想在 Windows 上长期用的朋友直接把主要工作放在 WSL 里体验比 PowerShell 顺滑。3. 一条命令安装以及安装后必须做的两三件事3.1 npm 全局安装与安装验证环境准备就绪后实际的安装动作反而最简单。终端执行npm install -g anthropic-ai/claude-code看到类似added xxx packages的输出就成功了。然后验证claude --version能输出版本号恭喜你已经有 Claude Code 了。如果这里报 command not found回到上一节的 PATH 排查思路别慌十个人里有三个卡在这儿。有个小提示npm 安装慢是常态尤其网络环境一般的时候。你可以检查一下是否配置了 npm 镜像源如果慢到无法忍受换一个可靠的 npm 镜像源之后重试就可以。装完之后记得用claude --version确认而不是只看 npm 输出安装成功。3.2 首次启动目录上下文与初始化界面安装完成之后不要急着敲一堆参数。我建议这样开始先建一个测试项目或者直接去你手头某个不重要的项目目录下cd ~/projects/test-project claude首次运行会有几件事发生它会检查最新版本、确认许可协议、然后进入一个交互式终端界面。你会在终端里看到它的输入提示符此时你已经在一个可以对话的会话里了。这时候做一次最简单的问答来验证链路是否通畅比如输入当前目录里有哪些文件分别大概是什么作用它应该会先读目录结构再逐个打开文件查看最后给出概括。这一步走通说明从安装到模型调用全链路都没问题。3.3 先想清楚让它在哪里干活目录即上下文我在实际使用中发现一个规律启动 Claude Code 的工作目录决定了它的视野也直接决定了回答质量。如果你在根目录或者随便某个位置启动它就只能基于那个目录里的内容回答经常答非所问。正确做法是每次要做某件事就先把终端cd到对应项目根目录再启动。项目根目录的意思是包含.git目录或项目配置文件package.json、pyproject.toml等的那层。另外Claude Code 支持在项目根目录创建一个CLAUDE.md文件相当于给这个项目写的使用手册和开发约定。它每次启动时会自动读取里面可以写清楚项目结构、编码风格、常用命令、禁止事项。你第一次在一个项目里使用可以直接输入斜杠命令/init它会根据当前项目代码自动生成一个初版CLAUDE.md后面你按需改改就行。这个小文件是我用 Claude Code 提高稳定性的核心手段。项目越大、约定越多它的价值越明显。4. 登录认证这关选对订阅账号还是 API Key4.1 交互式登录最简单但要注意账号类型运行claude之后如果没配置其他认证方式它会提示你完成登录通常是在浏览器里打开授权页面确认后回终端继续。授权成功后你就能用当前账号额度调用模型了。这里我想提醒一点不同账号类型的可用性不同。有些账号能顺畅登录有些账号受订阅策略限制无法直接使用。如果你遇到登录环节提示账号权限问题不要反复尝试先确认账号在官网的订阅状态是否支持 Claude Code或者改用 API Key 方式。4.2 API Key 模式更可控适合脚本化场景如果你不想绑定浏览器登录或者想在自动化脚本里使用 Claude CodeAPI Key 模式是更好的选择。流程是在你的 Ansible 密钥管理台创建一个 API Key然后在终端环境变量里指定export ANTHROPIC_API_KEYsk-ant-...之后再运行claude就会优先走 API 计费模式。这种方式的优点是可以精确控制 key 的权限、随时撤销缺点是要留意用量和费用。如果你是重度使用者建议在环境变量里配上ANTHROPIC_MODEL这样你再也不用每次手动加--model参数。需要注意的一点环境变量的配置有缓存行为。改完环境变量后最好重开一个终端窗口再测试避免还在使用旧的配置。4.3 延伸话题第三方兼容端点与本地模型的适用边界有一类很常见的诉求在搜索热词里反复出现能不能让 Claude Code 调用本地模型或者第三方兼容模型比如 LM Studio 里跑的本地模型、Ollama 跑的 Qwen3 等。思路本身没错。Claude Code 支持通过环境变量把请求指向自定义端点export ANTHROPIC_BASE_URLhttp://localhost:1234/v1 export ANTHROPIC_API_KEYlocal-key这样它就会去请求你指定的端点。但这里有个非常现实的坑Claude Code 不只是聊天它在修改代码时依赖模型输出结构化的工具调用内容模型不仅要懂语言还要懂工具协议。很多本地模型聊天推理很流畅一到要按协议输出工具调用就乱了表现就是你给它说改代码它嘴上答应却不动手。我见过不少人在搜索用 Ollama 跑 Qwen3 让 Claude Code 改代码最后结论是不能操作电脑修改代码。根因就在这本地模型的能力没有覆盖工具调用这一环而不是 Claude Code 装错了。所以想玩本地模型的先确认模型是否原生支持 Anthropic 协议的工具调用格式再考虑接入。如果只是想省 API 费用先明确这个预期否则折腾一晚上你会怀疑人生。5. 实操全流程对一个 Python 项目做第一次真正的代码修改5.1 准备一个能跑的实验项目我准备用最常见的 Todo 命令行程序来做演示因为它足够小你能一眼看出 Claude Code 改对了什么、改错了什么。新建一个目录建todo.py内容如下import sys tasks [] def add_task(desc): tasks.append({desc: desc, done: False}) print(fadded: {desc}) def list_tasks(): for i, t in enumerate(tasks, 1): status [x] if t[done] else [ ] print(f{i}. {status} {t[desc]}) def mark_done(idx): tasks[idx - 1][done] True print(fdone: {tasks[idx - 1][desc]}) if __name__ __main__: cmd sys.argv[1] if cmd add: add_task(sys.argv[2]) elif cmd list: list_tasks() elif cmd done: mark_done(int(sys.argv[2]))这个程序能跑但没有持久化存储任务列表在每次运行后都会丢。这个需求足够典型也足够展示 Claude Code 的完整处理链路。5.2 用自然语言提需求看它怎么拆解任务终端里启动cd ~/projects/todo-demo claude然后提需求给这个 todo 程序增加文件持久化任务列表保存到同目录下的 tasks.json启动时自动加载。同时给 list 命令增加只显示未完成任务的功能。在确认权限的前提下Claude Code 的工作过程一般是这样先读todo.py全文分析现有函数结构然后设计持久化方案用json模块读写文件再提出具体修改计划。不要一次性唰地改完它会分块给你看第一步导入json、os模块第二步新增load_tasks()和save_tasks()两个函数第三步调整add_task、mark_done让每次变更后保存第四步给list_tasks增加过滤未完成的参数第五步修改main入口逻辑。每一步你都有机会按y同意、按n拒绝或者进入编辑模式手动修改它的方案。我之前第一次用的时候最大的惊讶是它改代码不是一股脑生成一个新文件而是会明确告诉你我将修改这几个函数、新增这个文件这给人的掌控感完全不同。5.3 审查改动、运行验证和回滚的完整路径当所有修改执行完别急着关终端。我给自己定了一条铁律任何 AI 工具改完代码必须要自己看 diff。git diff你会看到类似这样的改动摘要新增加了文件读写模块、修改了三个函数体、调整了主函数参数列表。这时候逐行看一遍重点检查文件写入路径有没有写死、异常处理是否完整、列表索引有没有可能越界。看完之后运行两遍验证python todo.py add 写教程 python todo.py list第一遍看是否能正常添加并持久化第二遍运行list看加载是否正常。我实际测试时它还真的发现了一个问题如果tasks.json不存在程序启动加载时会报FileNotFoundError。它主动补了一段if os.path.exists(...)的判断。这种自己做测试、发现问题、主动修复的循环是 Claude Code 相比其他 AI 编程助手最大的体验差异。如果你对某个改动不满意流程也很简单自己手动改回某几行或者直接跟它说把刚才对 list_tasks 的改动撤销它会基于 Git 历史给你生成反向修改。在有 Git 的项目里最坏情况直接git checkout -- todo.py也能恢复原状。所以我的建议是让它动手之前确保项目已经是一个 Git 仓库这一条能让所有尝试成本降到最低。6. 日常高频操作与避坑清单6.1 常用命令和 VS Code 集成用了一阵子之后我把日常最高频的操作总结成了清单新手照这个用就行/init第一次进入项目时生成CLAUDE.md/clear清空当前会话上下文一个任务一个会话/model切换模型比如从默认模型切到更强的旗舰模型精确任务用旗舰、批量琐事用轻量模型--continue接续上一次对话长时间任务中断后最常用--print或-p非交互模式适合在脚本里调用比如claude -p 给 utils.py 补充类型注解。如果你习惯在 VS Code 里干活用官方扩展体验比纯终端好不少编辑区域、diff 视图、对话面板都会嵌入编辑器里对不熟悉命令行的朋友非常友好。安装扩展后配置也非常简单照着扩展面板提示选择模型、登录账号即可。6.2 与 Git 配合的注意事项Claude Code 对 Git 的集成度很高它能看到当前的未提交改动能帮你生成 commit message甚至可以在你允许的情况下自动提交。但我给团队的建议一直是在多人协作的仓库里关掉自动提交让它把改动停在已修改状态由人来决定何时提交以及提交成什么。原因是这样的AI 生成的 commit message 大多数时候没问题但它对改动的理解有时会略有偏差。比如它改了三行写修复数组越界异常结果那三行里还藏了一个类型转换调整message 里根本没提。这种信息丢失在事后回溯 bug 时非常致命。我的日常流程是让 Claude Code 改代码改完我自己git diff审查自己git commit必要时把多次改动拆成多个 commit。虽然多花几分钟但每一笔改动都有清晰记录遇到问题能精准回退。6.3 提升准确率、省时间和少踩坑的几个习惯最后分享几个我踩坑踩出来的习惯虽然看起来简单但每一条都实打实影响使用质量第一每次对话第一个句子就要交代清楚目标和约束。不要说帮我改改这个项目要说给 src/auth.py 增加登录失败三次锁定账号的功能保持现有代码风格不要引入新的依赖。约束给得越具体它的方案越靠谱。第二大任务拆小步。一次让模型改十个文件出错概率按指数上升。我见过它同时在五个文件里改结果方案之间互相冲突。拆成每一步每步验证完再下一步速度反而更快。第三会话要及时清理。一个会话里做的事情越多上下文越杂后面回答质量下降得厉害。每完成一个任务就/clear开新会话让每个会话只解决一个问题。第四学会说解释你打算怎么改再动手。有时候不用急着让它执行先让它给方案你看一遍方案、指出问题再让它动手。这个先讨论再执行的模式能让修改一次通过的几率大幅提升。这些习惯没有一条是技术秘密都是一些用得越多越值钱的操作纪律。工具本身更新很快但这些习惯在任何 AI 编程工具上都通用。我到现在装了各种 AI 编程工具折腾过本地模型、第三方端点、自动化脚本回头发现用得最顺的仍然是 Claude Code 配合一套明确的流程小步任务、动手前先讨论、改完必须自己看 diff。工具怎么选是一门学问但更重要的永远是你自己对代码的掌控力任何时候都不要因为图快而丢掉。

读完文章,也想定制专属网站?

尧图设计师 24 小时内与您沟通定制方案

免费获取报价 →
↑