使用 Claude Code 过程中遇到报错是正常现象。本文整理了 20 多个高频错误, 按类别分组, 每个错误都给出原因分析和解决步骤。建议收藏本文, 遇到问题时直接搜索错误关键词。
Error: EACCES: permission denied, mkdir '/usr/local/lib/node_modules'
原因: 全局安装 npm 包时, 当前用户没有写入系统目录的权限。
解决方案:
# 方案一: 使用 npx 直接运行, 不全局安装
npx @anthropic-ai/claude-code
# 方案二: 修改 npm 全局目录到用户目录
mkdir -p ~/.npm-global
npm config set prefix '~/.npm-global'
# 将以下行添加到 ~/.bashrc 或 ~/.zshrc
export PATH=~/.npm-global/bin:$PATH
source ~/.bashrc
npm install -g @anthropic-ai/claude-code
Error: Claude Code requires Node.js >= 18.0.0
原因: Claude Code 依赖较新版本的 Node.js 特性。
解决方案:
# 查看当前版本
node --version
# 使用 nvm 安装新版本
nvm install 20
nvm use 20
# 或者直接从官网下载最新 LTS 版本
# https://nodejs.org/
npm ERR! network timeout at: https://registry.npmjs.org/...
原因: 网络连接不稳定, 或 npm 源访问慢。
解决方案:
# 切换到国内镜像源
npm config set registry https://registry.npmmirror.com
# 然后重新安装
npm install -g @anthropic-ai/claude-code
# 安装完成后可以切回官方源
npm config set registry https://registry.npmjs.org
Error: Invalid API key provided
原因: API Key 格式错误、已过期或未激活。
解决方案:
sk-ant- 开头# 重新配置
claude config set apiKey sk-ant-xxxxxxxxxxxx
Error: Authentication expired. Please log in again.
原因: OAuth 登录的 Token 过期。
解决方案:
# 重新登录
claude login
# 如果是 Max 订阅用户
claude login --method browser
Error: Insufficient credits. Please add credits to your account.
原因: API 按量付费模式下, 账户余额用完了。
解决方案:
Error: Rate limit exceeded. Please try again in X seconds.
原因: 短时间内发送了太多请求, 触发了 API 速率限制。
解决方案:
Error: connect ECONNREFUSED 127.0.0.1:443
原因: 通常是代理配置问题。
解决方案:
# 检查代理设置
echo $HTTP_PROXY
echo $HTTPS_PROXY
# 如果使用代理, 确保代理服务正在运行
# 如果不需要代理, 清除代理设置
unset HTTP_PROXY
unset HTTPS_PROXY
Error: unable to verify the first certificate
原因: 公司网络的 SSL 中间人代理, 或系统证书不完整。
解决方案:
# 方案一: 配置公司 CA 证书
export NODE_EXTRA_CA_CERTS=/path/to/company-ca.pem
# 方案二 (不推荐, 仅用于临时测试)
export NODE_TLS_REJECT_UNAUTHORIZED=0
Error: getaddrinfo ENOTFOUND api.anthropic.com
原因: DNS 无法解析 Anthropic API 域名。
解决方案:
# 测试 DNS
nslookup api.anthropic.com
# 如果失败, 尝试更换 DNS
# 编辑 /etc/resolv.conf 或使用以下命令
# macOS:
networksetup -setdnsservers Wi-Fi 8.8.8.8 8.8.4.4
# Linux:
echo "nameserver 8.8.8.8" | sudo tee /etc/resolv.conf
Error: Request timed out after 60000ms
原因: 网络慢, 或请求内容过大导致处理时间过长。
解决方案:
Error: Maximum context length exceeded
原因: 对话历史加上当前输入超过了模型的上下文窗口限制。
解决方案:
# 在对话中执行
/compact
# 或者开启新对话
/clear
预防措施:
Error: Tool execution failed: command exited with code 1
原因: Claude Code 尝试执行的 Shell 命令失败了。
解决方案:
Error: ENOENT: no such file or directory, open 'path/to/file'
原因: Claude Code 尝试读取的文件不存在。
解决方案:
# 在对话中确认当前目录
pwd
Error: EACCES: permission denied, open '/etc/some-config'
原因: Claude Code 尝试访问没有权限的文件或目录。
解决方案:
ls -la /path/to/fileError: MCP server 'github' failed to start
原因: MCP Server 的启动命令有误, 或依赖缺失。
解决方案:
# 手动测试启动命令
npx -y @modelcontextprotocol/server-github
# 检查 .mcp.json 配置是否正确
cat .mcp.json
# 确认环境变量是否设置
echo $GITHUB_TOKEN
Error: MCP tool call timed out
原因: MCP Server 响应时间过长, 通常是外部服务慢。
解决方案:
Error: MCP server 'postgres' disconnected unexpectedly
原因: MCP Server 进程崩溃或被系统终止。
解决方案:
# 重启 Claude Code 会自动重启 MCP Server
# 或者使用命令重置
claude mcp reset
# 检查系统资源
free -h # 内存
df -h # 磁盘
Warning: Failed to parse CLAUDE.md
原因: CLAUDE.md 文件格式有问题。
解决方案:
Error: Failed to read configuration file
原因: Claude Code 的配置文件 JSON 格式错误。
解决方案:
# 查看配置文件
cat ~/.claude/settings.json
# 如果 JSON 格式有误, 可以重置
rm ~/.claude/settings.json
# 重新启动 Claude Code 会生成默认配置
Warning: Not in a git repository. Some features may be limited.
原因: 当前目录不是 Git 仓库, Claude Code 的部分功能受限。
解决方案:
# 初始化 Git 仓库
git init
# 或者进入正确的项目目录
cd /path/to/your/project
Error: Model 'claude-opus-4-20250901' is not available
原因: 请求的模型版本不存在或当前账户无权访问。
解决方案:
# 切换到可用模型
/model sonnet
# 检查账户可用的模型列表
claude models
[Response truncated due to max token limit]
原因: 模型的单次输出达到了最大 Token 限制。
解决方案:
# 例如
先实现前 3 个函数, 剩余的下一步再写
Error: Response blocked by safety filters
原因: 请求或响应触发了内容安全检查。
解决方案:
FATAL ERROR: CALL_AND_RETRY_LAST Allocation failed - JavaScript heap out of memory
原因: Node.js 进程内存溢出, 通常是处理大文件或长对话导致。
解决方案:
# 增加 Node.js 内存限制
export NODE_OPTIONS="--max-old-space-size=4096"
claude
Error: ENOSPC: no space left on device
原因: 磁盘满了, 无法写入文件。
解决方案:
# 检查磁盘空间
df -h
# 清理 npm 缓存
npm cache clean --force
# 清理不用的包
npm prune
遇到未列出的错误时, 按以下步骤排查:
第一步: 阅读完整错误信息
不要只看第一行, 完整的 stack trace 通常包含关键线索。
第二步: 检查基础环境
node --version # 确认 Node.js 版本
npm --version # 确认 npm 版本
claude --version # 确认 Claude Code 版本
第三步: 更新到最新版本
npm update -g @anthropic-ai/claude-code
第四步: 清理缓存和配置
# 清理 npm 缓存
npm cache clean --force
# 如有必要, 重置配置
rm -rf ~/.claude/cache
第五步: 检查网络
# 测试 API 连通性
curl -I https://api.anthropic.com
# 测试 DNS
nslookup api.anthropic.com
第六步: 查看日志
# Claude Code 的日志目录
ls ~/.claude/logs/
# 查看最近的日志
cat ~/.claude/logs/latest.log
第七步: 搜索社区
大多数 Claude Code 的报错都可以归结为以下几类:
遇到报错不要慌, 按照错误分类对号入座, 90% 的问题都能在 5 分钟内解决。把本文加入书签, 下次遇到问题时直接搜索关键词。
每周更新 Claude Code 实战技巧、工具对比、行业动态。回复「模板」获取 CLAUDE.md 模板合集。