本教程面向完全零基础的新手,目标是用 2026 年官方推荐的原生安装器(Native Installer)在 10 分钟内装通 Claude Code,并完成第一个可运行的项目。你将学到:为什么现在不再需要 Node.js 和 npm、三平台(macOS / Linux / Windows)的一键安装命令、登录认证与配置体系、第一段对话与第一次代码改动,以及用 Claude Code 从零写出一个"下载文件夹自动整理器"。全程无需任何前置编程经验,跟着命令复制粘贴即可。
适用人群:第一次接触命令行工具、第一次使用 AI 编程助手、想快速验证 Claude Code 是否值得长期使用的人。
前置条件:
这是本教程最大的"反直觉"点:旧版教程几乎都以
npm install -g @anthropic-ai/claude-code开头,要求你先装一整套 Node 运行时。2026 年起,官方文档已把原生安装列为推荐(Recommended)方式,npm 退居备选。
在动手之前,先花两分钟搞清楚"我到底在装什么"。Claude Code 现在有四条主流安装路径,区别如下:
| 方式 | 是否需要 Node.js | 是否自动更新 | 适用平台 | 推荐度 |
|---|---|---|---|---|
| 原生安装器 | 否 | 是(后台静默) | macOS / Linux / Windows / WSL | ⭐⭐⭐⭐⭐ |
| Homebrew | 否 | 否(手动 brew upgrade) |
macOS / Linux | ⭐⭐⭐⭐ |
| WinGet | 否 | 否(手动 winget upgrade) |
Windows | ⭐⭐⭐⭐ |
| apt / dnf / apk | 否 | 否(跟随系统包管理) | Debian / Fedora / RHEL / Alpine | ⭐⭐⭐ |
| npm | 是(需 Node 18+) | 半自动 | 全平台 | ⭐⭐ |
原生安装器的三个核心优势:
npm update,也不会被某个有重大回退的版本坑到。node_modules 里塞东西,卸载也只需一条命令,不污染系统。什么时候才选 npm? 只有当你身处一个被锁死的内网环境、必须用私有 npm registry 镜像,或团队已有 Node 工具链流水线时,才退回到 npm。
根据你的操作系统,复制对应的一条命令到终端执行即可。
macOS / Linux / WSL:
curl -fsSL https://claude.ai/install.sh | bash
Windows PowerShell(推荐,现代 Windows 默认终端):
irm https://claude.ai/install.ps1 | iex
Windows CMD(如果你还在用老式命令提示符):
curl -fsSL https://claude.ai/install.cmd -o install.cmd && install.cmd && del install.cmd
怎么判断我在哪个终端? 提示符前面带
PS(例如PS C:\Users\you>)就是 PowerShell,用第二条命令;只有C:\Users\you>就是 CMD,用第三条。在 PowerShell 里敲&&会报错 "The token '&&' is not a valid statement separator",这正是你用错终端的信号。
预期结果:脚本会下载约几十 MB 的二进制,安装到用户目录下,并把 claude 命令加入 PATH。安装完成后,终端通常会提示你"重开一个终端"或"重新加载 shell 配置"以让 PATH 生效。重开后输入:
claude --version
看到一串版本号(例如 2.1.181 之类)就说明二进制已就位。
常见问题与解决方案:
syntax error near unexpected token '<' 或 HTTP 403:通常是 curl 被代理或防火墙改写,或下载到了一个 HTML 错误页。先排查代理设置(见下文环境变量),再重试;若依旧失败,参考官方"Troubleshoot installation"页对照错误码。claude: command not found:PATH 没刷新。手动 source ~/.zshrc(macOS)或 source ~/.bashrc(Linux),或干脆注销重新登录。irm is not recognized:说明你在 CMD 里,改用上面的 CMD 命令;或直接用 PowerShell。在任意目录下启动交互式会话:
claude
首次运行会提示你登录。根据账号类型,有四种主流方式:
/login 会直接跳到企业 SSO 登录页。登录后想换账号或重新认证,在运行中的会话里输入:
/login
常见问题:如果你所在地区不在 Anthropic 支持范围内,登录会失败;这种情况下可考虑通过 Bedrock / Vertex 等受支持的云渠道接入,或使用公司自建的 gateway。
很多人装完就直接开干,结果项目里的设置和全局设置打架。Claude Code 的配置遵循一套作用域(Scope)优先级,理解它能少踩 80% 的坑:
Managed(最高,企业强制,不可被覆盖)
↓
命令行参数(临时会话覆盖)
↓
Local(本地,仅当前仓库、自己用)
↓
Project(项目,提交到 git、全队共享)
↓
User(最低,你自己所有项目通用)
对应的物理文件位置:
| 作用域 | 文件 / 位置 | 影响范围 | 是否随 git 共享 |
|---|---|---|---|
| User | ~/.claude/settings.json |
你自己,所有项目 | 否 |
| Project | .claude/settings.json |
仓库的所有协作者 | 是 |
| Local | .claude/settings.local.json |
你自己,仅当前仓库 | 否(自动 gitignore) |
| Managed | 服务器下发 / plist / 注册表 / system managed-settings.json | 全组织 / 全机 | 由 IT 部署 |
新手最常用的两个配置入口:
/config 命令:在会话里输入 /config 打开标签式设置界面,可查看状态、改主题、改模型等。从 v2.1.181 起,还能直接单条修改:/config verbose=true。~/.claude/settings.json 的 env 字段,或直接 export 到 shell。新手最该知道的几个:| 变量 | 作用 |
|---|---|
ANTHROPIC_API_KEY |
用 API Key 认证(替代交互登录) |
ANTHROPIC_MODEL |
指定默认模型,例如 claude-sonnet-4-6 |
ANTHROPIC_BASE_URL |
自定义 API 端点(走代理 / 网关时用) |
CLAUDE_CODE_USE_BEDROCK / CLAUDE_CODE_USE_VERTEX |
设为 1 切换到 Bedrock / Vertex |
MAX_THINKING_TOKENS |
控制推理(思考)预算 |
DISABLE_AUTOUPDATER |
设为 1 关闭自动更新 |
企业内网 / 代理场景:如果你必须走公司代理,可在 ~/.claude/settings.json 里这样写:
{
"env": {
"HTTPS_PROXY": "http://proxy.company.com:8080",
"HTTP_PROXY": "http://proxy.company.com:8080"
}
}
常见问题:设置了 ANTHROPIC_MODEL 却没生效?检查是否被 Project 或 Local 层的同名设置覆盖了——优先级是 Local > Project > User。
进入你打算工作的项目目录(没有项目也没关系,新建一个空文件夹即可):
mkdir ~/hello-cc && cd ~/hello-cc
claude
启动后会看到版本号、当前模型和工作目录显示在提示符上方。先输入:
/help
你会看到所有可用命令。然后试着用自然语言提问——Claude Code 会按需读取你的文件,你不需要手动喂上下文:
what can Claude Code do?
常用会话命令速查:
| 命令 | 作用 |
|---|---|
/clear |
清空当前对话历史(释放上下文) |
/help |
查看命令列表 |
/login |
切换 / 重新认证账号 |
/config |
打开设置界面 |
/exit 或 Ctrl+D |
退出 Claude Code |
/resume |
恢复之前的某段对话 |
Shell 层(终端里直接敲)也记住这几条:
claude # 启动交互模式
claude "修一下构建报错" # 跑一次性任务后退出
claude -p "解释这个函数" # 单次查询模式(适合脚本)
claude -c # 继续当前目录最近的对话
claude -r # 恢复历史对话
新手提示:提问要具体。与其说"修一下 bug",不如说"修复用户输错密码后看到白屏的登录 bug"——细节越足,结果越准。
让 Claude Code 真正动起来:
add a hello world function to the main file
它会:找到合适的文件 → 展示拟修改的 diff → 请求你批准 → 执行编辑。Claude Code 在改文件前永远会先征求许可,你可以逐条批准,也可以为整个会话开启 "Accept all"(全部接受)模式。
权限模式简述:默认是"逐条放行";想批量信任某类只读操作(如
npm test、git status),可在/config里把对应命令加入 allow 列表,减少打扰。生产环境建议保持默认谨慎模式,不要无脑全开。
Claude Code 把 Git 变成了对话:
what files have I changed? # 我改了哪些文件
commit my changes with a message # 用合适的信息提交
create a new branch called feature/cleanup
show me the last 5 commits
help me resolve merge conflicts # 帮我解决冲突
它会替你执行 git 命令并解释结果,对新手非常友好。
flowchart TD
A[选择安装方式<br/>原生 / Homebrew / WinGet / npm] --> B[运行一行安装命令]
B --> C[claude --version<br/>验证二进制就位]
C --> D[claude 首次启动<br/>浏览器登录认证]
D --> E[/config 与 settings.json<br/>配置作用域与代理]
E --> F[cd 进入项目目录<br/>claude 启动会话]
F --> G[自然语言提问<br/>理解代码库]
G --> H[描述任务<br/>审阅 diff → 批准]
H --> I[Git 提交 / 测试<br/>收尾]
I --> J{满意?}
J -->|否| G
J -->|是| K[交付]
我们把前面学的全部串起来,做一个真实可用的小工具:自动把混乱的 ~/Downloads 按文件类型分拣到 图片/文档/安装包/压缩包/其他 子文件夹。
mkdir ~/dl-organizer && cd ~/dl-organizer
claude
在会话里粘贴:
帮我用 Python 写一个下载文件夹整理器 organize.py:
1. 默认目标目录是 ~/Downloads,可用 --target 参数覆盖。
2. 按扩展名分到这些子文件夹:图片(.jpg/.png/.gif/.webp)、文档(.pdf/.docx/.xlsx/.pptx/.txt/.md)、安装包(.dmg/.exe/.msi/.deb)、压缩包(.zip/.tar/.gz/.rar/.7z),其余归入"其他"。
3. 用 --dry-run 预览要移动的文件但不真正移动。
4. 移动前打印日志,遇到同名文件自动加 _1、_2 后缀避免覆盖。
5. 代码要带中文注释,并配一个 run.sh 示例脚本。
organize.py(节选):
#!/usr/bin/env python3
"""下载文件夹自动整理器:按扩展名把文件分拣到子文件夹。"""
import argparse
import shutil
from pathlib import Path
# 扩展名 → 目标子文件夹的映射表
CATEGORIES = {
"图片": [".jpg", ".jpeg", ".png", ".gif", ".webp"],
"文档": [".pdf", ".docx", ".xlsx", ".pptx", ".txt", ".md"],
"安装包": [".dmg", ".exe", ".msi", ".deb"],
"压缩包": [".zip", ".tar", ".gz", ".rar", ".7z"],
}
def classify(suffix: str) -> str:
"""根据扩展名返回归类名,匹配不到则返回'其他'。"""
for name, exts in CATEGORIES.items():
if suffix.lower() in exts:
return name
return "其他"
def unique_path(dest_dir: Path, filename: str) -> Path:
"""若目标已存在同名文件,自动追加 _1、_2 后缀。"""
target = dest_dir / filename
if not target.exists():
return target
stem, ext = Path(filename).stem, Path(filename).suffix
i = 1
while True:
candidate = dest_dir / f"{stem}_{i}{ext}"
if not candidate.exists():
return candidate
i += 1
def main():
parser = argparse.ArgumentParser(description="整理下载文件夹")
parser.add_argument("--target", default=str(Path.home() / "Downloads"))
parser.add_argument("--dry-run", action="store_true", help="只预览不移动")
args = parser.parse_args()
root = Path(args.target).expanduser()
if not root.is_dir():
raise SystemExit(f"目录不存在: {root}")
moved = 0
for f in root.iterdir():
if not f.is_file():
continue
category = classify(f.suffix)
dest_dir = root / category
dest_dir.mkdir(exist_ok=True)
dest = unique_path(dest_dir, f.name)
action = "预览移动" if args.dry_run else "移动"
print(f"[{action}] {f.name} -> {category}/{dest.name}")
if not args.dry_run:
shutil.move(str(f), str(dest))
moved += 1
print(f"完成,共处理 {moved} 个文件。")
if __name__ == "__main__":
main()
run.sh:
#!/usr/bin/env bash
# 先预览,确认无误后再去掉 --dry-run 真正执行
python3 organize.py --target ~/Downloads --dry-run
帮我建一个临时测试目录 /tmp/dltest,放几个假文件(a.png、report.pdf、setup.exe、x.zip、weird.xyz),然后跑 organize.py --target /tmp/dltest 验证分拣结果,最后把测试目录删掉。
你会看到 Claude Code 自动执行 Bash 工具、打印分拣日志、确认每个文件落到了正确子文件夹。这种"描述意图 → 它写代码 → 它跑测试 → 你看结果"的闭环,正是 Claude Code 的核心用法。
用 git 初始化仓库,写一个简短 README,然后提交。
至此,你已经完整走过了:安装 → 登录 → 配置 → 提问 → 生成代码 → 自测 → Git 交付的全流程。
| 现象 | 原因 | 解决 |
|---|---|---|
claude: command not found |
PATH 未刷新 | source ~/.zshrc 或重开终端 / 重登录 |
| 装完不更新 | 用了 Homebrew / WinGet / apt | 手动 brew upgrade claude-code / winget upgrade ... |
| 登录卡住 / 403 | 地区不支持或代理拦截 | 走 Bedrock/Vertex,或配 HTTPS_PROXY |
| 设置改了没生效 | 被更高优先级作用域覆盖 | 按 Managed>CLI>Local>Project>User 逐层排查 |
| 命令总被打断要确认 | 权限逐条放行 | 在 /config 把只读命令加入 allow 列表 |
| Windows 里 Bash 工具缺失 | 没装 Git for Windows | 装 Git for Windows,或接受降级为 PowerShell |
[!tip] 51学通信知识星球 星主:爱卫生(微信:gprshome201101)——公众号「51学通信」创办者,19 年通信行业运维与讲师经验,著有《GPRS网络信令实例详解》《EPC原理与实践》《5G核心网原理与实践》三本纸质书(各大电商平台有售)。 星球定位:深耕 5G 核心网、IMS、NFV/AI、云原生等 ICT 领域,主打运维岗位与信令分析。 当前规模:5200 篇主题 / 990 个回答,198 元/年。 加入福利:加入星球后请加爱卫生微信,拉您进知识星球年度陪伴与答疑群——不限量回复您的各种问题,另有群内分享。 AI 加持:51学通信知识星球已作为 skill 接入 WorkBuddy,使用 deepseek-4-flash 在海量星球帖子中精准找贴、找视频、找 FAQ 和案例,做总结、找文档和 PPT 等场景全覆盖。
