跳到主内容
快讯直播
AI智模界
教程

Claude Code 安装与配置教程

适用场景

Claude Code 是跑在终端里的编程助手:在项目目录下启动后,它能读取文件、修改代码、执行构建与测试命令,把「提问—改代码—跑验证」串成一条流水线。

这篇教程解决三件事:在 macOS 与 Windows 上把 Claude Code 装起来;把 API Key、网络代理、中转网关这些环境变量配对;撞上装不上、连不通、认证失败的报错时,知道从哪儿下手排查。

适合两类人:想在本地命令行里用 AI 辅助编码的开发者,以及需要在代理或内网环境下把 Claude Code 接进团队工作流的运维同学。

环境与前置条件

先把下面这张清单和实际环境对一遍:

  • 操作系统:macOS(Intel 与 Apple Silicon 均可)、Linux 主流发行版、Windows 10/11。Windows 上有两条路——WSL2,或者原生 Windows 配合 Git for Windows 提供的 Bash 环境。
  • 运行时:走 npm 安装需要预装 Node.js 与 npm,最低版本要求以官方文档当前版本为准,装 LTS 版本即可。走原生安装脚本则由脚本自带运行时,不需要预装 Node。
  • 硬件:终端工具本身占用很小,内存 8 GB 及以上比较从容;磁盘建议留出 2 GB 左右余量给运行时和依赖缓存。另外每个项目都会产生会话记录,长期使用会慢慢增长。
  • 网络:需要能访问 Anthropic 的接口。在需要代理的网络里,或者通过企业网关接入时,提前准备好代理地址或网关地址及令牌。
  • 账号凭证:二选一。Claude 订阅账号(浏览器授权登录),或 Anthropic Console 的 API Key。
  • 权限:全局安装 npm 包要写系统目录,建议用 nvm 这类版本管理器,避免用 sudo 引发后续的权限归属问题。

分步骤部署

第 1 步:确认终端与运行时

打开终端(macOS 用 Terminal 或 iTerm,Windows 用 PowerShell 或 Windows Terminal),执行:

```

node -v

npm -v

```

能打印出版本号,说明运行时齐了。如果提示命令不存在,先装 Node.js:macOS 可以 brew install node,Windows 可以从 Node.js 官网下载 LTS 安装包,或用 winget、scoop 等包管理器安装。装完重开终端,再执行上面两条命令。

第 2 步:安装 Claude Code

方式一:npm 全局安装

```

npm install -g @anthropic-ai/claude-code

```

安装过程会打印一堆包解析日志,末尾出现 added N packages 之类的提示即为成功。注意不要在前面加 sudo,也不要以管理员身份运行——提权安装会让后续升级和配置目录的归属变乱。

方式二:原生安装脚本

官方文档同时提供 macOS/Linux 的 shell 脚本和 Windows 的 PowerShell 脚本,命令会随版本调整,去官方文档复制当前那条即可:macOS/Linux 通常是 curl ... | bash 形式,Windows 通常是 irm ... | iex 形式。这种方式不依赖 Node。

安装完成后可能需要重开终端,让 PATH 变更生效。

第 3 步:确认命令可用

```

claude --version

```

打印出版本号,说明可执行文件已经进了 PATH。再跑一次自检:

```

claude doctor

```

它会检查安装方式、运行时版本、配置目录、网络连通性等项目。每一项都能看到状态,异常项会附带建议。

第 4 步:登录或配置凭证

在任意目录执行:

```

claude

```

首次运行会引导选择登录方式。走订阅账号时选浏览器授权:终端给出一个链接,浏览器打开、确认授权,再把页面上的验证码粘回终端。授权成功后终端会显示当前账号和可用模型。

如果改用 API Key,macOS / Linux 下:

```

export ANTHROPIC_API_KEY="你的密钥"

```

Windows PowerShell 当前会话:

```

$env:ANTHROPIC_API_KEY="你的密钥"

```

Windows 想永久写入用户环境变量:

```

setx ANTHROPIC_API_KEY "你的密钥"

```

setx 设完必须新开一个终端窗口才生效。macOS/Linux 想永久生效,把 export 那行写进 ~/.zshrc(zsh)或 ~/.bashrc(bash),再 source 一次。

第 5 步:配置网络代理

终端进程不会自动继承系统代理设置,需要单独指定。macOS / Linux:

```

export HTTPS_PROXY="http://127.0.0.1:7890"

export HTTP_PROXY="http://127.0.0.1:7890"

export NO_PROXY="localhost,127.0.0.1"

```

Windows PowerShell:

```

$env:HTTPS_PROXY="http://127.0.0.1:7890"

$env:HTTP_PROXY="http://127.0.0.1:7890"

```

端口换成自己代理软件实际监听的端口。NO_PROXY 里的本地地址不要带端口号,按主机名写。

第 6 步:接入中转网关(可选)

用企业网关或第三方中转服务时,改的是接口地址,而不是密钥字段:

```

export ANTHROPIC_BASE_URL="https://你的网关地址"

export ANTHROPIC_AUTH_TOKEN="网关分配的令牌"

```

网关地址和令牌向服务提供方索取。具体变量名与取值以官方文档当前版本为准,配完建议重开终端再验证。

第 7 步:写一份 settings.json

除了环境变量,也可以用配置文件统一管理。用户级配置放在 ~/.claude/settings.json(Windows 是 C:\Users\你的用户名\.claude\settings.json):

```json

{

"env": {

"HTTPS_PROXY": "http://127.0.0.1:7890"

},

"permissions": {

"allow": [

"Read",

"Bash(git status)",

"Bash(npm run test:*)"

],

"deny": [

"Bash(rm -rf:*)"

]

}

}

```

env 里的键值会在启动时注入进程,等于把代理、网关地址固化下来,不必每次手敲 export。permissions.allow 是白名单,列进去的操作不再逐次询问;permissions.deny 是黑名单,优先级更高。字段名与可写项以官方文档为准,改完用 claude doctor 确认能被正确解析。

第 8 步:在项目里初始化

```

cd 你的项目目录

claude

```

进去后执行斜杠命令 /init,它会扫描项目结构并生成一份 CLAUDE.md,把技术栈、目录约定、常用命令记进去。之后每次会话启动都会读取这份文件,省掉重复交代背景的功夫。CLAUDE.md 建议提交进版本库,团队共用。

常用的斜杠命令:/help 看全部命令,/config 交互式改配置,/model 切换模型,/permissions 管理权限,/clear 清空当前上下文。

验证部署是否成功

分三层验证,逐层排除问题。

第一层,命令是否可用:

```

claude --version

claude doctor

```

预期:前者打印版本号;后者各项检查状态正常,没有报错项。

第二层,凭证是否有效。 新建一个空目录做隔离测试:

```

mkdir ~/cc-test && cd ~/cc-test

claude -p "用一句话说明当前目录里有哪些文件"

```

-p 是非交互模式,跑完直接退出。预期几秒内输出一句描述当前目录内容的文字。如果卡住不动或报认证错误,说明网络或凭证有问题。

第三层,在真实项目里跑一次只读任务:

```

cd 你的项目目录

claude -p "总结一下这个项目的目录结构"

```

预期它会列出目录、读取若干文件后给出结构化总结。这一步能过,说明文件读取、权限确认、模型调用三个环节都已打通。

常见报错与解决

报错 1:npm error code EACCESpermission denied

原因:全局安装要写系统目录,当前用户没有写权限。

解决:不要用 sudo。改用 Node 版本管理器重装 Node,或者把全局目录挪到用户家目录:

```

npm config set prefix ~/.npm-global

export PATH="$HOME/.npm-global/bin:$PATH"

npm install -g @anthropic-ai/claude-code

```

export 那行记得写进 shell 配置文件持久化。

报错 2:claude: command not found(Windows 上提示「不是内部或外部命令」)

原因:npm 全局可执行文件目录不在 PATH 里,或者装完没有重开终端。

解决:先看全局目录在哪:

```

npm config get prefix

```

macOS/Linux 把 <prefix>/bin、Windows 把 <prefix> 加进 PATH,然后重开终端。刚装完就执行 claude --version 失败,多半是没重开终端。

报错 3(Windows):提示需要 Git Bash,或 No such file or directory

原因:原生 Windows 下 Claude Code 依赖 Git for Windows 提供的 Bash 环境,没装 Git,或安装路径没被识别到。

解决:从 Git for Windows 官网下载安装,再重开终端。装了仍报错的话,显式指定 bash 路径:

```

setx CLAUDE_CODE_GIT_BASH_PATH "C:\Program Files\Git\bin\bash.exe"

```

重开终端后再跑 claude doctor。也可以用 WSL2 绕过这类路径问题。

报错 4:fetch failedETIMEDOUTECONNRESET

原因:终端进程连不上接口,通常是没走代理,或者代理软件只开了系统代理而终端不继承。

解决:按第 5 步显式设置 HTTPS_PROXY,先用 curl 验证代理链路:

```

curl -x http://127.0.0.1:7890 -I https://api.anthropic.com

```

能返回 HTTP 状态码说明代理正常,再回去跑 claude doctor。注意终端里设的代理只在当前窗口有效。

报错 5:401 UnauthorizedInvalid API key

原因:密钥错误、过期、被撤销,或者环境变量里的 Key 与登录账号互相冲突。

解决:先确认变量确实传进了进程:

```

echo $ANTHROPIC_API_KEY

```

Windows 用 echo $env:ANTHROPIC_API_KEY。确认无误后,在 Claude Code 里执行 /login 重新授权,或到 Console 重新生成密钥。如果同时存在订阅登录和 API Key,清掉不用的那个,避免指向混乱。

报错 6:SELF_SIGNED_CERT_IN_CHAINunable to verify the first certificate

原因:公司网络做了 HTTPS 中间人解密,Node 不认这张自签证书。

解决:拿到公司根证书文件,指给 Node:

```

export NODE_EXTRA_CA_CERTS="/path/to/company-ca.pem"

```

Windows 用 setx NODE_EXTRA_CA_CERTS "C:\path\to\company-ca.pem",之后重开终端。

报错 7:EBADENGINE 或提示 Node 版本过低

原因:Node 版本低于官方要求。

解决:升级到当前 LTS。用 nvm 的话:

```

nvm install --lts

nvm use --lts

```

升级后重装一遍全局包,再 claude doctor 复查。

后续维护

配置与数据备份

需要备份的是 ~/.claude/ 目录(Windows 为 %USERPROFILE%\.claude),里面有 settings.json、会话记录、项目级缓存。换机器或重装系统前整目录拷走即可。项目里的 CLAUDE.md.claude/ 跟着代码仓库走,不必单独备份。

凭证与密钥安全

不要把 API Key 写进项目配置文件再提交到版本库。团队协作时,个人配置放 .claude/settings.local.json 并加进 .gitignore;共享的团队配置放 .claude/settings.json,里面只放不含密钥的项。

升级

npm 方式安装的:

```

npm update -g @anthropic-ai/claude-code

```

原生脚本安装的,用官方提供的更新方式(部分安装器自带更新子命令,以官方文档为准)。升级后跑一遍 claude doctor,确认配置仍能解析——配置格式偶尔会调整,报错时对照官方文档改字段名。

日志与排查

会话记录按项目存放在 ~/.claude/projects/ 下,出问题时先去这里找最近一次会话。终端侧的异常用 claude doctor 做整体体检,用 claude --debug 启动查看详细请求日志。长期不用的旧会话可以定期清理,磁盘占用主要来自这块。

权限边界

默认情况下,涉及写文件、执行命令的操作会逐次询问。批量任务里有人会用跳过权限确认的参数(--dangerously-skip-permissions),它意味着不再逐条拦截,只建议在容器、临时目录这类可随时丢弃的环境里使用。日常开发更稳的做法是在 settings.json 里把常用只读命令加进 allow,把危险命令(递归删除、强制推送等)写进 deny

用量与成本

订阅账号和 API Key 的计费方式不同,额度与用量口径以官方页面为准。团队里可以把项目约定写进 CLAUDE.md,减少反复澄清带来的无效往返;需要了解当前会话消耗时,用 /cost 之类的命令查看。

AI 生成本文由 AI 基于公开信息自动生成,仅供参考。