我只是想升级到最新版本,结果折腾了一个多小时,试了十几种方法,问了两个 AI,甚至重启了电脑------最后发现,一行命令就能解决。
环境:macOS (zsh) · Claude Code 2.0.73 → 2.1.2
事情的起因
今天是 2026 年 1 月 9 日,看到全网都在说 Claude Code CLI 发布新版本了。作为一个追求最新体验的开发者,我自然想升级。
于是我问 Claude:
我:claude code cli 如何升级到最新?
Claude 给了我三种方法:
markdown
1. 自动更新(默认启用):启动时会自动检查
2. 手动更新(推荐):claude update
3. 根据安装方式重新安装:
- Native 安装:curl -fsSL https://claude.ai/install.sh | bash
- Homebrew:brew upgrade --cask claude-code
- NPM:npm install -g @anthropic-ai/claude-code@latest
看起来很简单。我选了 npm 方式:
bash
$ npm install -g @anthropic-ai/claude-code@latest
added 3 packages in 1m
$ claude --version
2.0.73 (Claude Code)
等等,怎么还是 2.0.73?
第一个坑:系统里有两个 Claude
我告诉 Claude 版本没变,它查了一下:
bash
$ npm view @anthropic-ai/claude-code version
2.1.2
$ which claude && npm list -g @anthropic-ai/claude-code
/Users/dev/.local/bin/claude
/opt/homebrew/lib
└── @anthropic-ai/claude-code@2.1.2
原来我的系统有两个 Claude Code 安装:
- Native 安装 (当前使用):
/Users/dev/.local/bin/claude→ 版本 2.0.73 - npm 安装:版本 2.1.2(没有被使用)
npm 装了个寂寞,因为 PATH 里 Native 版本优先级更高。
Claude 说用 claude update 就行。好,那就试试。
第二个坑:Another Claude process is currently running
bash
$ claude update
Current version: 2.0.73
Checking for updates...
Another Claude process is currently running. Please try again in a moment.
我加了环境变量禁用锁:
bash
$ CLAUDE_DISABLE_LOCK=1 claude update
Current version: 2.0.73
Checking for updates...
Another Claude process is currently running. Please try again in a moment.
还是一样。
我把这个错误贴给 Claude,它开始帮我诊断:
bash
$ pgrep -fl "claude" | head -20
(无输出)
$ ls -la ~/.claude/*.lock 2>/dev/null || echo "No lock files found"
No lock files found
$ ps aux | grep -i claude | grep -v grep
dev 3034 52.0 3.7 509055488 612928 s000 S+ 2:04下午 0:18.78 claude
Claude 说:
找到原因了!当前正在运行的 Claude CLI 进程(就是你现在使用的这个会话)阻止了更新操作。
解决方案:退出当前 Claude 会话,在新的终端窗口中运行
claude update。
逻辑上说得通。我退出 Claude,打开新终端:
bash
$ claude update
Current version: 2.0.73
Checking for updates...
Another Claude process is currently running. Please try again in a moment.
还是不行。
开始疯狂排查
这时候我请出了另一个 AI 助手------OpenAI Codex CLI,让它和 Claude 一起帮我查。
检查进程
bash
$ ps aux | rg -i 'claude'
dev 4627 0.0 0.0 435306128 4784 s001 S+ 2:08下午 0:00.01 rg -i claude
没有 Claude 进程。
检查锁文件
bash
$ ls -la ~/.claude/*.lock 2>/dev/null || echo "no ~/.claude lock"
zsh: no matches found: /Users/dev/.claude/*.lock
no ~/.claude lock
没有锁文件。
检查临时目录
bash
$ find /var/folders -name "claude-*" -maxdepth 5 2>/dev/null | head -20
/var/folders/4l/r_l1tmpn4qqb2n9rhd6qdcgh0000gn/T/claude-be1e-cwd
/var/folders/4l/r_l1tmpn4qqb2n9rhd6qdcgh0000gn/T/claude-1c8b-cwd
/var/folders/4l/r_l1tmpn4qqb2n9rhd6qdcgh0000gn/T/claude-479a-cwd
/var/folders/4l/r_l1tmpn4qqb2n9rhd6qdcgh0000gn/T/claude-95ba-cwd
有残留!删掉试试:
bash
$ rm -rf /var/folders/*/*/*/T/claude-*
zsh: no matches found: /var/folders/*/*/*/T/claude-*
zsh 的 glob 不匹配时会直接报错。只能手动一个个删:
bash
$ rm -rf /var/folders/4l/r_l1tmpn4qqb2n9rhd6qdcgh0000gn/T/claude-be1e-cwd
$ rm -rf /var/folders/4l/r_l1tmpn4qqb2n9rhd6qdcgh0000gn/T/claude-1c8b-cwd
$ rm -rf /var/folders/4l/r_l1tmpn4qqb2n9rhd6qdcgh0000gn/T/claude-479a-cwd
$ rm -rf /var/folders/4l/r_l1tmpn4qqb2n9rhd6qdcgh0000gn/T/claude-95ba-cwd
$ claude update
Another Claude process is currently running. Please try again in a moment.
还是不行。
检查后台服务
bash
$ launchctl list | rg -i 'claude|anthropic'
(无输出)
没有后台服务。
检查失败的下载文件
bash
$ ls -la ~/.local/share/claude/versions
# 发现 2.1.1 和 2.1.2 是 0 字节文件(下载中断)
$ rm -f ~/.local/share/claude/versions/2.1.1 ~/.local/share/claude/versions/2.1.2
$ claude update
Another Claude process is currently running. Please try again in a moment.
还是不行。
关闭 Chrome 浏览器
因为装了 Claude Chrome 插件,怀疑浏览器扩展占用了什么:
bash
# 完全退出 Chrome
$ claude update
Another Claude process is currently running. Please try again in a moment.
还是不行。
终极手段:重启电脑
既然报错说有进程在运行,那重启电脑总能清掉所有进程吧?
bash
# 重启 Mac...
$ claude update
Another Claude process is currently running. Please try again in a moment.
重启了电脑还是不行!!!
此时我已经确认:这个错误提示是误导性的,根本不是进程占用的问题。
最终解决:一行命令
折腾了这么久,我决定不跟 claude update 较劲了。
直接去官方文档 docs.anthropic.com/en/docs/cla... 找安装命令:
bash
$ curl -fsSL https://claude.ai/install.sh | bash
Setting up Claude Code...
✔ Claude Code successfully installed!
Version: 2.1.2
Location: ~/.local/bin/claude
✅ Installation complete!
$ claude -version
2.1.2 (Claude Code)
就这么简单。
经验总结
| 尝试的方法 | 结果 |
|---|---|
npm install -g @anthropic-ai/claude-code@latest |
❌ 装了但版本没变(两个安装) |
claude update |
❌ Another Claude process |
CLAUDE_DISABLE_LOCK=1 claude update |
❌ 同样报错 |
| 按 Claude 建议退出会话再更新 | ❌ 无效 |
| 检查并杀死 Claude 进程 | ❌ 没有进程可杀 |
清理锁文件 ~/.claude/*.lock |
❌ 没有锁文件 |
清理临时目录 /var/folders/.../claude-* |
❌ 无效 |
| 检查 LaunchAgent 后台服务 | ❌ 没有服务 |
| 删除 0 字节版本文件 | ❌ 无效 |
| 关闭 Chrome(Claude 插件) | ❌ 无效 |
| 重启 macOS 系统 | ❌ 无效 |
| 官方脚本覆盖重装 | ✅ 成功 |
我学到了什么
-
claude update可能有 bug------即使没有任何进程在运行,它也会报"Another Claude process is currently running"。 -
系统可能存在多个安装版本 ------用
which claude确认当前使用的是哪个,npm 安装不会覆盖 Native 安装。 -
AI 的诊断不一定对------Claude 和 Codex 给的排查步骤逻辑上都对,但都没解决问题。错误提示本身就是误导性的。
-
人还是要有判断力 ------与其在复杂的排查流程中耗时,不如直接用最简单有效的方式解决问题。当你发现自己已经尝试了 5 种以上方法都无效时,是时候换个思路了。
-
覆盖重装是最可靠的方案 ------用户配置保存在
~/.claude目录,不会丢失。直接跑安装脚本就完事了。
快速解决方案
如果你也遇到 claude update 报错,别折腾了,直接:
bash
curl -fsSL https://claude.ai/install.sh | bash
参考链接
- 官方安装文档:docs.anthropic.com/en/docs/cla...
- 安装脚本:
curl -fsSL https://claude.ai/install.sh | bash