ARTICLE DETAIL

资讯详情

深耕郑州网站建设与运营推广的一线实战洞察。

Claude Code新手教程:从环境配置到修改代码的完整实战

Claude Code新手教程:从环境配置到修改代码的完整实战 那位朋友问我的时候我正在终端里盯着 Claude Code 把一个函数拆成两半自己重新组织逻辑。他说他一直以为这玩意只是个能聊天的命令行玩具没想到它真的在动手改代码。我跟他解释了一下这就是 Claude Code 和普通聊天式 AI 工具之间最大的区别——它不是给你生成一段代码贴在 IDE 里而是直接对着你的项目文件运作能读目录、看文件、自己定位 bug、修改代码然后跑测试给你看结果。这篇东西就是写给完全没碰过 Claude Code 的人看的从最底层的环境准备开始到装好之后完成第一笔真实的代码修改后面还附带了一些我实际使用中总结出来的经验和坑。如果你以前用过 GitHub Copilot 这类补全工具或者用过 ChatGPT 写代码但觉得贴来贴去很麻烦那 Claude Code 会给你一种完全不同的体验。它适合独立开发者、在多个项目之间切换的自由职业者也适合团队里负责工程化的同学——一句话只要你的工作流里有“改代码”这件事就值得往下看。1. 先把环境底子打好为什么我坚持先别碰 Claude Code而是去搞 Node.js很多人一上来就复制安装命令结果卡在npm不认识、node找不到最后折腾半天返工。我踩过这个坑所以我建议第一步先搞清楚 Claude Code 的运行条件——它本质上是一个 npm 全局包运行在你的 Node.js 环境里没有 Node.js 这层地基后面全都是空中楼阁。1.1 Claude Code 对 Node 版本的要求以及为什么它非要这个版本Claude Code 官方要求 Node.js 18 以上的版本。这个数字不是随便定的它关系到这个工具依赖的现代 JavaScript 特性以及整个运行时的稳定性。如果你机器上装的是 Node.js 16 或者更老工具大概率会在启动阶段就报错而且报错信息常常很抽象比如什么SyntaxError: Unexpected token新手根本看不懂。Windows、macOS、Linux 三个平台我都装过这里把常见情况整理成一张表你可以对照自己的环境平台推荐安装方式版本检查命令常见注意点Windows官方安装包或 wingetnode -v安装后要重新打开终端PATH 才会生效macOSHomebrewnode -v如果之前装过多个版本建议先用brew doctor检查Linux (Ubuntu/Debian)NodeSource 或 nvmnode -v千万别用 apt 直接装版本太老这真的是我吃过的大亏这里我自己比较推荐的方式是先用 nvmNode Version Manager或者 nvm-windows 来管理版本。原因很简单你以后不一定只跑 Claude Code 一个工具不同工具可能对 Node 版本有不同要求。用 nvm你可以在项目之间自由切换版本不会出现“为了一个包把系统 Node 升级到全局”这种不可逆的操作。1.2 npm 全局安装的底层逻辑为什么装完就能在任意目录敲claudeClaude Code 的安装命令很简单但我要先解释一下背后的机制不然你遇到路径问题时会一头雾水。npm 全局安装-g参数会把可执行文件放到一个全局目录这个目录在 Windows 上通常是%APPDATA%\npm在 macOS/Linux 上通常是/usr/local/lib/node_modules或 nvm 对应的目录。同时npm 会在全局 bin 目录里放一个命令链接。你之所以能在任意终端路径下直接敲claude就是因为这个 bin 目录已经被加到了系统的 PATH 环境变量里。这一步如果出了问题最常见的表现是明明安装成功了终端却提示claude: command not found。解决办法不是重装而是去查你当前 PATH 里面有没有包含 npm 的全局 bin 目录。在 Windows 上你可以在 PowerShell 里执行npm config get prefix然后把看到的路径手动加进用户环境变量 Path。在 macOS/Linux 上看看~/.bashrc或~/.zshrc里有没有export PATH$PATH:$(npm prefix -g)/bin这样的配置。2. 三步装好 Claude Code以及登录鉴权那点事环境这块弄完就可以正式安装了。安装本身不复杂我按流程走一遍然后把里面容易翻车的地方单独拎出来说。2.1 真正的安装指令和版本验证方法在终端里执行下面这行命令npm install -g anthropic-ai/claude-code这里选择全局安装是有讲究的。Claude Code 不是某一个项目独有的依赖它要跨项目工作全局安装能让你在任何目录直接启动。装完之后验证一下版本claude --version如果能看到类似1.0.x的版本号输出说明安装成功。这时候你可以在任意目录输入claude或claude --help看到 CLI 交互界面安装阶段就宣告结束了。有个我在实际安装过程中遇到的点如果你的网络环境在npm install阶段一直卡住不动大概率是下载太慢。这种时候可以临时切换 npm 镜像源比如npm install -g anthropic-ai/claude-code --registryhttps://registry.npmmirror.com装完之后建议把镜像源改回官方源或者就留在镜像源看你自己后续的使用习惯。这一步纯粹是为了解决网络传输问题不涉及任何特殊配置但确实能解决很多“安装超时”的烦恼。2.2 第一次运行时的登录方式要怎么选安装完毕后的第一件事是运行claude命令。正常流程下它会引导你完成登录鉴权。这里市面上主要就两种登录方式它们的适用场景完全不同。登录方式适用人群特点OAuth 网页登录Claude 订阅用户用你的 Claude 账号登录一次长期有效API Key按量付费的开发者在 console 后台生成 Key写入环境变量如果你是 Claude 订阅用户直接用网页 OAuth 登录最简单一次授权之后基本不用再管。如果你是通过 API 方式使用那么你需要把 API Key 写入环境变量ANTHROPIC_API_KEY。两种方式可以共存但是环境变量的优先级会高于网页登录会话这一点要注意。有几种特殊情况需要单独说明如果你所在的公司网络要求走内部网关或者你有自己的 API 转发服务那登录流程可能会失败。这时候不要慌检查一下环境变量ANTHROPIC_BASE_URL是否被设置成了自定义网关地址。默认情况下不设置这个变量Claude Code 走官方 OpenAI 兼容的 Anthropic 端点。2.3 安装后报错的常见排查链路我遇到过几次安装后无法启动的情况这里把排查顺序写下来方便你按步骤走先确认node -v和npm -v都有输出且 Node 版本在 18 以上。再确认claude --version的报错信息。如果是command not found一定是 PATH 问题用上面说过的方法去排查。如果是启动后卡在登录界面多半是环境变量或网络的问题检查ANTHROPIC_API_KEY、ANTHROPIC_BASE_URL是否被误设。如果启动时报各种奇怪的Error试着打开调试模式claude --debug调试模式会输出完整的运行日志里面的错误信息比默认提示详细得多。看到具体报错后基本上就能定位到是环境变量、文件权限还是网络连接的问题。3. 第一次实战让它真正动手改你项目的代码很多人到登录完就觉得完事了实际上真正的重头戏在“让它改代码”这一步。这也是最容易产生误解的地方——以为 Claude Code 像个搜索引擎输入问题它给答案。不是的它是一个能直接操作文件的代理型工具你需要带着真实需求去指挥它而它负责执行落地。3.1 初始化项目会话和关键配置我建议你第一次实验时不要拿一个巨大的老工程项目来试那样底层依赖复杂、背景信息混乱AI 容易懵。最好的方式是新建一个非常小的测试项目比如一个只有几十行的 Python 脚本。下面是我搭的演示项目结构my-demo-project/ ├── calculator.py └── test_calculator.pycalculator.py里是一个简单的加法计算器但隐藏了一个 bug当传入参数为空列表时没有返回合理结果。我原本的代码如下def sum_list(numbers): result 0 for num in numbers: result num return result启动 Claude Codeclaude看到交互提示符后第一件事我建议先运行/init。这个斜杠命令会在当前目录生成一份CLAUDE.md项目说明文件包含项目结构、代码规范、常用指令等。Claude Code 在后续的回答中会参考这份文件相当于给 AI 一本项目作战手册。3.2 一条完整的修改指令从发起到落盘的全过程接着我在会话里输入了这样一段需求看看calculator.py如果传入空的列表函数会直接返回 0但我希望它抛出一个 ValueError并告诉我为什么。Claude Code 并没有立刻修改文件。它会先读取calculator.py的内容分析当前逻辑然后给出一个方案。在这个过程中终端会出现各类权限申请提示比如“是否允许修改文件”“是否允许运行 Python 测试”。这是这套工具最有价值的设计之一每一步动作都有明确授权不是黑盒操作。当我确认允许后它修改了函数实现def sum_list(numbers): if not numbers: raise ValueError(The input list cannot be empty.) result 0 for num in numbers: result num return result然后它主动提出要跑测试验证。在获得我的 bash 执行权限后它运行了python -m pytest test_calculator.py并把测试结果贴在终端里。整个过程非常像你在带一个实习生干活它提方案你点头它动手然后它跑测试给结论。这种协作模式比直接贴一段代码要踏实得多因为是真正的“把人留在流程里”。3.3 每次修改后都要看的 diff 和回滚路径AI 修改完代码千万不要直接信。我习惯做三件事检查先看它改了什么。输入/diff会用类似 git diff 的形式清晰展示文件的前后差异。这一步能让你在提交给版本库之前人工确认改动范围是否越界。跑一遍项目测试。对于小项目可以手动跑大项目就直接在会话里授权它执行相关测试命令。如果发现改错了立刻git checkout -- .或者用编辑器撤销。这里强烈建议你的项目在实验之前就已经初始化过 git 仓库哪怕只是git init和一次初始提交都行它能给你一条完整的后悔药。我第一次跑的时候最大的教训就是太信任 AI。它改了一个函数顺手把同目录下另一个文件的注释也清理了改动范围超出了我的预期。从那以后/diff和git回滚成了我每轮修改的标配动作。4. 换模型这件事如何接入 DeepSeek 等第三方模型端点接下来说个很多人在装完之后会琢磨的事Claude Code 能不能换模型跑答案是可以而且更便宜的时候真的更便宜。我试过接入 DeepSeek这里把操作原理和一份完整配置方案写出来。4.1 为什么有人要给它换模型以及换之前想清楚什么Claude Code 默认调用 Claude 系列模型质量确实很好但并非每个场景都要用到最高规格的模型。如果你处理的是一些重复性比较高、逻辑并不复杂的任务——比如批量修注释、生成单元测试骨架、整理代码结构——试试其他模型往往能用非常低的成本完成任务。我见过不少团队把日常开发辅助的重活切换到更经济的模型上把预算留给真正复杂的设计讨论。决定换模型前建议先想清楚两件事一是你这类任务的复杂度到底在什么水平值不值得为每次对话付更多钱二是你换过去的目标服务是否兼容 Claude Code 的接口协议。现在市面上大模型里DeepSeek 是为数不多的直接给出 Anthropic API 兼容端点选择的服务之一这也是它配合 Claude Code 比较顺滑的原因。4.2 通过环境变量自定义模型端点Claude Code 的设计里有一个巧妙的扩展点它允许通过环境变量覆盖默认的 API 端点和认证 Token而不需要修改任何源码。这就意味着任何服务只要能提供 Anthropic API 兼容的接口理论上都能接入。以 DeepSeek 为例它提供的兼容端点格式通常是https://api.deepseek.com/anthropic。配置方法如下。在终端临时生效的方式export ANTHROPIC_BASE_URLhttps://api.deepseek.com/anthropic export ANTHROPIC_AUTH_TOKEN你的DeepSeek_API_Key unset ANTHROPIC_API_KEY注意最后一行。当设置了ANTHROPIC_AUTH_TOKEN时一定要确认ANTHROPIC_API_KEY已经被解除否则旧 Key 的优先级可能更高请求仍然发到默认端点。如果希望每次启动 Claude Code 都自动生效可把它写入 shell 的配置文件macOS/Linux 是~/.zshrc或~/.bashrcWindows 是 PowerShell Profile。# 示例写入后执行 source 使其当前生效 export ANTHROPIC_BASE_URLhttps://api.deepseek.com/anthropic export ANTHROPIC_AUTH_TOKEN你的DeepSeek_API_Key然后在项目目录里验证一下是否生效。让 Claude Code 做一件简单的事看看它的回复风格和延迟再问一句它认为自己是什么模型或者直接观察请求日志。如果一切正常说明已经切过去了。4.3 切换之后需要注意的兼容性差异我用了几天之后发现换模型之后有几个差异是客观存在的系统提示词的适配。Claude Code 本身有一套针对 Claude 模型优化的系统提示词换到其他模型时它对工具调用的理解能力、函数选择的准确度会有细微差别。简单任务影响不大复杂任务需要多试两轮。上下文窗口的宽度。不同模型支持的最大上下文长度不一样。如果你的项目文件特别大一次性塞进来的内容可能超出模型窗口结果就是被截断。遇见这种情况先压缩上下文或者拆分成小任务。输出速度的体感变化。DeepSeek 的响应速度快还是慢跟官方 Claude 模型比是另一种体感取决于你所在网络环境和服务负载。这个没法一概而论但如果你用的是对延迟敏感的场景建议先小范围测试。有一点很重要不要因为换了更便宜的模型就随意调整所有项目的权限策略。模型再好授权逻辑仍然要用最小化原则。这条建议跟我用什么模型无关而是工程项目的底线问题。5. 日常使用里值得收藏的习惯与细节装好 Claude Code 并完成第一笔修改你其实已经越过最难的门槛了。剩下的就是怎么把它用得顺滑少踩一些我在真实项目里摔过的坑。5.1 CLAUDE.md 是整个协作的粘合剂我在前面提到了/init生成的CLAUDE.md但我想再强调一遍它的价值因为很多人根本不重视它。这个文件相当于给 AI 的“入职手册”里面写清楚项目结构、代码风格、构建命令和常用约定。没有这份文件AI 每次回复前都要翻箱倒柜地猜你的项目到底怎么回事有了它AI 的改动会明显更贴合项目上下文。我见过最快的提升方式在你项目跑通的基础上把平时自己写代码时经常注意的规则一条条加进CLAUDE.md。比如“去掉所有不必要的注释”“测试文件用 pytest 风格”“配置文件不要提交”等。你会发现 AI 的命中率随文件内容变具体而显著提高这个投入回报率很高。5.2 会话上下文的膨胀管理Claude Code 会话会把对话历史和读取过的文件内容都放进上下文。项目稍微复杂之后上下文很容易“吃撑”——AI 开始遗忘早期对话内容或者反应变慢。对应习惯是干一件事开一个新会话。我会把“修复 A 模块”和“重构 B 函数”拆成两次独立会话避免它们互相干扰。如果会话中途确实聊得太长可以用--resume拉起上一个会话继续或者用/compact压缩上下文将前文内容摘要化。我更推荐前者简单粗暴上下文混乱了就重开回忆比硬撑更划算。5.3 桌面版、VS Code 扩展和周边使用心得Claude Code 最初是一个纯终端工具但今天你已经有不止一种形态可以选。桌面版和 VS Code 扩展都值得一试。VS Code 扩展的体验是你的编辑器右下角直接嵌入一个 Claude Code 面板可以在代码编辑、文件树和 AI 对话之间无缝切换。对刚入门的人来说面板的形式非常友好不用面对空白黑底终端的压迫感。不过我个人还是保留了终端作为主力环境。原因很简单终端是跨平台的换到服务器、云主机或者 SSH 远程开发时你依然保有完整能力。编辑器插件则更像一个方便的前端界面适合日常开发但别把它当成唯一的依赖。6. 这阵子用下来我最想告诉你的几件小事最后再说点真心的。我刚上手 Claude Code 的时候几乎犯遍了所有新手会犯的错在没备份的项目里让它随便改动、一次性丢给它超大的老项目代码、没看 diff 就急急忙忙提交。反复踩了几次之后我现在的固定流程是这样的第一任何项目让它动手之前先确认有 git 版本控制兜底第二小步快跑一次只让它改一个明确的功能点改完立刻跑测试第三每次改完必须看 diff确认改动范围真的在预期内第四日常重复性、模板化的工作放心交给它但是设计层面的架构决策我会自己把握。Claude Code 是个很强的工具但归根到底它是你的副驾。方向盘在你手里什么时候加速、什么时候踩刹车这个判断你得自己做。第一次用的朋友建议从把今天这篇流程完整跑一遍开始别贪多改完一个小 bug 你就懂这东西到底是怎么回事了。
返回列表