Claude Code 安装与使用入门教程
安装
npm install -g @anthropic-ai/claude-code
Claude Code 是跑在终端里的 AI 编程工具,它不是编辑器插件,而是一个命令行进程:你在项目目录里启动它,它读你的代码、改你的文件、执行你的命令。所以安装之前有两个前提要确认。
一是 Node 版本。Claude Code 依赖较新的 Node 运行时,我用的是 Node 20,官方要求 18 以上,低于这个版本安装完启动会直接报语法错误。先确认一下:
node -v
npm -v
二是全局安装的权限。npm install -g 默认往系统目录写文件,如果你的 Node 是用系统包管理器装的,很可能报 EACCES: permission denied。这时候不要习惯性地加 sudo,那会把 root 权限的文件塞进你的 npm 目录,之后每次更新都得继续 sudo。更干净的做法是把 npm 的全局前缀改到自己的家目录:
mkdir -p ~/.npm-global
npm config set prefix ~/.npm-global
然后把 ~/.npm-global/bin 加进 PATH(zsh 写 ~/.zshrc,bash 写 ~/.bashrc):
echo 'export PATH="$HOME/.npm-global/bin:$PATH"' >> ~/.zshrc
source ~/.zshrc
如果你用 nvm、fnm 或者 volta 管理 Node,全局目录本来就在家目录下,这一步可以跳过。
装完验证一下命令有没有进 PATH:
claude --version
which claude
首次启动与登录
Claude Code 的工作单位是「目录」,它把你启动时所在的目录当作项目根,所有的文件读写默认限制在这个范围内。所以第一步是 cd 到项目里再启动:
cd ~/code/my-project
claude
首次启动会走一遍交互式引导:选主题、确认是否信任当前文件夹、然后登录。登录用 /login,它会打开浏览器让你用 Claude 账号授权,授权完成后凭据存在本地,之后启动不用再登录。
信任文件夹这一步不是走形式。Claude Code 会读取项目里的 CLAUDE.md、.claude/ 配置,这些文件理论上可以指示它执行命令,所以对来源不明的仓库(比如刚从网上 clone 下来的)先自己看一眼再信任。
日常最常用的几个命令
启动之后是一个交互式会话,直接用自然语言描述需求就行。真正需要记住的是斜杠命令:
/init— 扫描当前项目,自动生成一份CLAUDE.md,把项目的技术栈、构建命令、目录约定写进去。新项目第一件事就做这个,后续每次会话它都会自动读,省掉重复解释。/clear— 清空当前对话上下文,开始一个新话题。换任务的时候用,比接着聊更省 token 也更少干扰。/compact— 压缩上下文。长会话快撑满窗口时用它,会保留决策和进行中的工作,丢掉冗长的工具输出。/mcp— 查看已连接的 MCP 服务器状态。/help— 列出全部可用命令。
命令行参数里比较有用的是这几个:
# 非交互模式:跑完一次就退出,适合写进脚本或 CI
claude -p "把 src/utils.ts 里的 any 都补上类型"
# 继续上一次会话
claude --continue
# 从历史会话里挑一个恢复
claude --resume
-p(print 模式)是把 Claude Code 当成 Unix 工具用的关键,它读 stdin、写 stdout,可以直接接管道:
git diff | claude -p "帮我写一条符合 conventional commits 规范的提交信息"
配置放在哪
配置分两层,都是 JSON 格式:
~/.claude/settings.json— 用户级,所有项目共享<项目>/.claude/settings.json— 项目级,会覆盖用户级的同名项,可以提交进 git 让团队共用
指令类的内容走 Markdown,不走 JSON:
~/.claude/CLAUDE.md— 全局个人偏好,比如「回复一律用中文」<项目>/CLAUDE.md— 项目约定,比如构建命令、代码风格、目录含义
我的习惯是把「怎么做事」写进 CLAUDE.md,把「允许做什么」写进 settings.json。前者是给模型看的说明书,后者是权限闸门。
常见问题
命令找不到(command not found: claude)。多半是全局 bin 目录不在 PATH 里。先 npm root -g 看包装到哪了,再确认对应的 bin 目录有没有加进 shell 配置。改完 PATH 记得重开终端或 source 一下。
每次操作都要确认,很烦。默认是每个写文件、执行命令的动作都问你一次。这个设计是对的,但熟悉之后可以在 settings.json 里把确定安全的命令加进白名单,比如 Bash(npm run test:*)、Bash(git status),这样只有真正有风险的动作才会打断你。
上下文很快就满了。通常是让它读了太多无关文件。更好的做法是先描述清楚目标,让它自己定位,而不是一上来就贴一堆文件内容进去;长任务中途用 /compact 收一下。
改动不符合预期。Claude Code 的每次文件修改都是普通的磁盘写入,所以最好的保险是 git:动手前确保工作区干净,不满意直接 git checkout -- <file> 回滚,不用去猜它改了什么。

还没有留言,来发表第一条吧~