指南:從安裝配置到項目代碼修改與 Git 提交)
1. 為什么我最終把 Claude Code 裝進了日常工作流第一次聽說 Claude Code 的時候我的反應(yīng)和大多數(shù)人一樣命令行里跑一個 AI 編程助手聽起來像是極客的玩具真到了項目里能頂什么用直到有一次我需要在一個十幾萬行的老項目里批量替換一套已經(jīng)廢棄的 API 調(diào)用手動改了兩百多個文件之后手指發(fā)酸、眼睛發(fā)花我才認真去研究了一下這個工具。結(jié)果一個下午的時間它幫我把剩下三百多個文件全部處理完還順手把相關(guān)的單元測試也更新了。從那天起Claude Code 就成了我終端里常駐的一個窗口。這篇內(nèi)容想做的事情很明確帶你從零開始把 Claude Code 裝到你的機器上配置好然后完成第一次真正意義上的代碼修改。不是那種打印一個 hello world的演示而是讓它在你的真實項目里干活——讀代碼、改代碼、跑測試、提交 Git。整個過程我會把每一步背后的邏輯講清楚包括我踩過的坑和繞過的彎路。適合誰看如果你已經(jīng)會用命令行做基本操作知道 Git 是什么寫過至少一門編程語言的代碼那這篇內(nèi)容就是為你準備的。如果你完全沒碰過終端也不用慌我會把每個命令都解釋清楚你照著敲就行。關(guān)鍵詞里提到的 Git、CLAUDE.md、VS Code 配置這些我都會在對應(yīng)的環(huán)節(jié)展開講。先說一個很多人關(guān)心的問題Claude Code 和你在網(wǎng)頁上用的對話式 AI 有什么區(qū)別核心差異在于上下文獲取方式。網(wǎng)頁版你需要手動復(fù)制粘貼代碼片段它只能看到你給它的那幾百行。而 Claude Code 直接跑在你的項目目錄里它可以自己讀文件、搜索代碼、執(zhí)行命令、查看 Git 歷史。這意味著它理解的是你的整個項目而不是一個孤立的代碼片段。這個差異在實際使用中帶來的效率差距比你想象的大得多。2. 安裝前的環(huán)境盤點別急著敲命令2.1 Node.js 是繞不開的前置依賴Claude Code 目前的分發(fā)方式是通過 npm 包管理器安裝所以你的機器上必須有 Node.js 環(huán)境。這里有一個很多人忽略的細節(jié)Node.js 的版本不能太低。我實測下來18.x 及以上的版本都能正常工作但如果你還在用 16.x 甚至更早的版本安裝過程大概率會報錯。檢查當前版本很簡單node --version npm --version如果版本低于 18建議直接去 Node.js 官網(wǎng)下載最新的 LTS 版本。Windows 用戶下載 msi 安裝包雙擊安裝就行macOS 用戶可以用 Homebrewbrew install nodeUbuntu 用戶可以用 NodeSource 的源來安裝最新版本比系統(tǒng)自帶的 apt 源版本要新很多curl -fsSL https://deb.nodesource.com/setup_20.x | sudo -E bash - sudo apt-get install -y nodejs注意如果你之前用 apt 裝過舊版本的 Node.js建議先卸載干凈再裝新版本否則可能出現(xiàn)兩個版本共存導(dǎo)致命令沖突的問題。2.2 Git 不只是順便裝一下Claude Code 的很多核心功能都依賴 Git。比如它會通過git diff來查看你當前的代碼改動通過git log來理解項目的演進歷史在修改代碼之后也會建議你提交。如果你的項目沒有用 Git 管理Claude Code 的能力會打不少折扣。Windows 用戶去 Git 官網(wǎng)下載安裝包安裝過程中有一個選項叫Adjusting your PATH environment建議選Git from the command line and also from 3rd-party software這樣 Git 命令在任意終端里都能用。macOS 用戶通常自帶 Git但版本可能比較老用brew install git更新一下更穩(wěn)妥。Ubuntu 用戶直接sudo apt install git即可。安裝完之后配置一下身份信息這是提交代碼時必須的git config --global user.name 你的名字 git config --global user.email 你的郵箱2.3 終端的選擇也有講究Claude Code 是一個交互式的命令行工具它對終端的能力有一定要求——需要支持 ANSI 轉(zhuǎn)義序列來渲染界面。Windows 上我強烈建議用Windows Terminal而不是老舊的 cmd.exe前者對顏色和光標控制的支持好得多。macOS 自帶的 Terminal.app 或者 iTerm2 都沒問題。如果你在 VS Code 里用集成終端那也可以后面我會講怎么把 Claude Code 和 VS Code 配合起來用。3. 安裝 Claude Code 的完整過程與常見報錯處理3.1 一條命令搞定安裝環(huán)境準備好之后安裝本身其實非常簡單npm install -g anthropic-ai/claude-code-g表示全局安裝這樣你在任何目錄下都能直接使用claude命令。安裝過程會從 npm 倉庫拉取包速度取決于你的網(wǎng)絡(luò)環(huán)境。如果卡住不動可以試試切換 npm 的鏡像源npm config set registry https://registry.npmmirror.com安裝完成后驗證一下claude --version能看到版本號就說明安裝成功了。3.2 首次啟動與認證流程第一次運行claude命令時它會引導(dǎo)你完成認證。整個過程是在瀏覽器里完成的終端會給出一個鏈接你打開鏈接登錄賬號并授權(quán)即可。授權(quán)完成后終端會顯示認證成功之后就可以正常使用了。這里有一個我踩過的坑如果你在公司網(wǎng)絡(luò)環(huán)境下瀏覽器和終端可能不在同一臺機器上。比如你在遠程服務(wù)器上安裝 Claude Code終端給出的鏈接在你本地瀏覽器打開后回調(diào)地址指向的是服務(wù)器的 localhost這就沒法完成認證。解決辦法是在本地機器上也裝一個 Claude Code 完成認證然后把認證文件復(fù)制到遠程服務(wù)器對應(yīng)的目錄下。認證文件通常在~/.claude/目錄下。3.3 安裝過程中可能遇到的幾個典型問題問題一npm 權(quán)限不足。在 macOS 和 Linux 上如果 Node.js 是通過系統(tǒng)包管理器安裝的全局安裝 npm 包時可能報 EACCES 錯誤。解決方案是配置 npm 的全局目錄到用戶目錄下mkdir -p ~/.npm-global npm config set prefix ~/.npm-global export PATH~/.npm-global/bin:$PATH把最后一行加到你的.bashrc或.zshrc里下次打開終端就自動生效了。問題二安裝成功但命令找不到。這通常是 PATH 沒有配置好。用npm config get prefix看看 npm 的全局安裝路徑在哪里然后確認這個路徑下的bin目錄在 PATH 里。問題三公司網(wǎng)絡(luò)限制。有些公司的網(wǎng)絡(luò)策略會攔截 npm 倉庫的訪問。如果你確認網(wǎng)絡(luò)沒問題但就是裝不上可以試試用代理或者換一個網(wǎng)絡(luò)環(huán)境。這個具體怎么處理取決于你的網(wǎng)絡(luò)環(huán)境我就不展開說了。4. 第一次代碼修改從讀懂項目到提交改動4.1 讓 Claude Code 先看懂你的項目安裝好之后進入你的項目根目錄直接運行cd /path/to/your/project claude你會看到一個交互式的界面。這時候不要急著讓它改代碼先讓它熟悉一下項目。我的習(xí)慣是第一步讓它讀一下項目的 README 和目錄結(jié)構(gòu)請幫我分析一下這個項目的整體結(jié)構(gòu)包括用了什么技術(shù)棧、主要的模塊劃分、以及入口文件在哪里。Claude Code 會自動讀取相關(guān)文件并給出分析。這一步的價值在于它會建立起對項目的整體認知后續(xù)你讓它改代碼時它知道該去哪里找相關(guān)文件而不是盲目搜索。4.2 CLAUDE.md給 AI 寫一份項目說明書這是我認為 Claude Code 最值得花時間配置的一個功能。在項目根目錄創(chuàng)建一個CLAUDE.md文件里面寫清楚項目的關(guān)鍵信息Claude Code 每次啟動時都會自動讀取這個文件。內(nèi)容可以包括項目的技術(shù)棧和主要依賴代碼風(fēng)格約定比如用幾個空格縮進、命名規(guī)范常用的開發(fā)命令怎么啟動開發(fā)服務(wù)器、怎么跑測試、怎么構(gòu)建項目的目錄結(jié)構(gòu)說明任何你希望 AI 遵守的特殊規(guī)則舉個例子一個典型的前端項目CLAUDE.md可能長這樣# 項目說明 這是一個基于 React TypeScript 的后臺管理系統(tǒng)。 ## 常用命令 - 開發(fā)npm run dev - 測試npm run test - 構(gòu)建npm run build - 代碼檢查npm run lint ## 代碼規(guī)范 - 使用 2 空格縮進 - 組件文件名用 PascalCase - 工具函數(shù)文件名用 camelCase - 所有新組件必須寫單元測試 ## 目錄結(jié)構(gòu) - src/components/ 通用組件 - src/pages/ 頁面組件 - src/utils/ 工具函數(shù) - src/api/ 接口封裝有了這個文件你就不需要每次對話都重復(fù)交代項目背景了。我實測下來配好CLAUDE.md之后Claude Code 改出來的代碼風(fēng)格和項目現(xiàn)有代碼的一致性明顯提升。4.3 一個真實的修改任務(wù)給現(xiàn)有函數(shù)加參數(shù)校驗假設(shè)你的項目里有一個處理用戶注冊的函數(shù)現(xiàn)在需要給它加上參數(shù)校驗。你可以這樣跟 Claude Code 說在 src/utils/validate.js 里有一個 validateEmail 函數(shù)現(xiàn)在它只檢查了郵箱是否為空。請幫我增強它加上格式校驗要求 1. 必須包含 符號 2. 前面至少有一個字符 3. 后面必須包含至少一個點號 4. 域名部分至少兩個字符 改完之后幫我在 tests/validate.test.js 里補充對應(yīng)的測試用例。Claude Code 會先讀取這兩個文件理解現(xiàn)有代碼的結(jié)構(gòu)和風(fēng)格然后進行修改。修改完成后它會展示 diff你可以逐條審查它改了什么。如果某處你不滿意可以直接告訴它調(diào)整。這里有一個使用技巧盡量把需求描述得具體。加上參數(shù)校驗和檢查郵箱格式要求包含 符號且域名部分至少兩個字符后者得到的結(jié)果會精準得多。Claude Code 不會讀心術(shù)你給的信息越明確它改出來的代碼越符合預(yù)期。4.4 審查改動與運行測試Claude Code 改完代碼后不要直接接受。我通常的做法是先看它展示的 diff確認改動范圍是否符合預(yù)期讓它運行相關(guān)測試請運行 tests/validate.test.js 里的測試如果測試通過再讓它跑一下完整的測試套件確保沒有破壞其他功能確認無誤后讓它幫你提交請把這些改動提交到 Git寫一個合適的 commit messageClaude Code 執(zhí)行 Git 提交時會遵循你項目的提交規(guī)范。如果你在CLAUDE.md里寫了 commit message 的格式要求比如遵循 Conventional Commits它會自動遵守。5. 把 Claude Code 接入 VS Code 的兩種方式5.1 在 VS Code 集成終端里直接使用這是最簡單的方式。打開 VS Code按Ctrl打開集成終端直接運行claude就行。好處是你可以在編輯器里看代碼在終端里跟 Claude Code 對話兩邊對照著看。但這種方式有一個小問題Claude Code 在集成終端里的界面渲染可能不如獨立終端流暢尤其是涉及光標移動和顏色渲染的時候。如果你遇到顯示異??梢栽囋囋?VS Code 設(shè)置里把terminal.integrated.gpuAcceleration設(shè)為off。5.2 通過 VS Code 擴展獲得更緊密的集成Claude Code 提供了 VS Code 擴展安裝之后可以在編輯器內(nèi)直接看到 Claude Code 的改動建議點擊就能跳轉(zhuǎn)到對應(yīng)的代碼位置。安裝方式是在 VS Code 擴展市場搜索 Claude Code 然后安裝。裝好擴展之后在 VS Code 里打開終端運行claude擴展會自動檢測到并建立連接。之后 Claude Code 修改文件時VS Code 會自動打開對應(yīng)的文件并高亮顯示改動區(qū)域?qū)彶槠饋矸奖愫芏?。注意擴展和命令行工具是兩個獨立的組件需要分別安裝。只裝擴展不裝命令行工具是用不了的。6. 幾個讓我少走彎路的使用心得6.1 上下文窗口的管理策略Claude Code 的對話是有上下文長度限制的。當你跟它進行了很多輪對話之后早期的內(nèi)容可能會被遺忘。我的做法是一個任務(wù)一個會話。改完一個功能、提交完代碼之后退出當前會話重新開始。這樣每個會話的上下文都是干凈的不會因為歷史對話太長而影響效果。如果任務(wù)比較復(fù)雜需要多輪對話才能完成可以在關(guān)鍵節(jié)點讓它把當前的理解和計劃寫到一個臨時文件里下次會話開始時先讀這個文件恢復(fù)上下文。6.2 善用先計劃再執(zhí)行的模式對于涉及多個文件的復(fù)雜改動我習(xí)慣先讓 Claude Code 出一個計劃我需要把項目里所有的 API 請求從 fetch 改成 axios。請先不要改代碼先給我一個改動計劃列出需要修改的文件和每個文件的改動要點。等它列出計劃之后我審查一遍確認沒問題再讓它執(zhí)行。這樣做的好處是避免它改到一半發(fā)現(xiàn)方向不對來回返工浪費時間。6.3 遇到問題時怎么排查如果 Claude Code 改出來的代碼不符合預(yù)期不要直接說不對重來。更好的做法是指出具體哪里不對你修改的 validateEmail 函數(shù)里域名部分的校驗邏輯有問題。當前的正則表達式會把 userdomain 這種沒有點號的郵箱判定為合法但我們的需求是必須包含點號。給它具體的反饋它就能精準地修正。這跟帶新人的邏輯是一樣的——你告訴它你錯了它不知道錯在哪你告訴它第三行的判斷條件寫反了它立刻就能改。6.4 關(guān)于安全性的考量Claude Code 在執(zhí)行某些操作時會請求你的確認比如運行終端命令、修改文件等。不要無腦點同意。尤其是涉及刪除文件、修改配置文件、執(zhí)行數(shù)據(jù)庫操作這類命令時一定要看清楚它要做什么再確認。我一般會在CLAUDE.md里明確寫出哪些目錄是只讀的、哪些操作需要額外確認這樣能減少誤操作的風(fēng)險。另外如果你的項目涉及敏感信息比如 API 密鑰、數(shù)據(jù)庫密碼確保這些內(nèi)容不在 Claude Code 能讀取到的文件里。用.gitignore和.claudeignore把敏感文件排除掉。7. 從第一次修改到日常使用的過渡第一次成功讓 Claude Code 幫你改完代碼并提交之后你會發(fā)現(xiàn)它的使用場景遠不止于此。我現(xiàn)在日常會用它做的事情包括寫單元測試、重構(gòu)老舊代碼、排查 bug、寫文檔注釋、review 代碼改動、甚至幫我分析性能瓶頸。每一個場景的使用方式都不太一樣但核心邏輯是一致的給它足夠的上下文給它明確的需求然后審查它的輸出。有一點需要提醒Claude Code 不是萬能的。它偶爾會犯錯會誤解你的意圖會寫出看起來對但實際有問題的代碼。把它當成一個能力很強但需要監(jiān)督的助手而不是一個可以完全放手的自動化工具。你審查它改動的能力決定了你使用它的上限。最后分享一個我最近發(fā)現(xiàn)的用法當你接手一個陌生的老項目時讓 Claude Code 幫你生成一份項目架構(gòu)文檔。它會讀取關(guān)鍵文件、分析依賴關(guān)系、梳理調(diào)用鏈路最后輸出一份結(jié)構(gòu)清晰的說明。這比你自己一個個文件翻要快得多而且它不會漏掉那些藏在角落里的重要邏輯。