claude update 卡住不动、最后超时怎么办
更新于 2026-08-21
一句话:官方发布源响应不稳定时,从 npm 镜像源取同一份二进制手工替换即可。
现象
claude update
# 或
claude install
长时间没有输出,最后超时退出。版本停留在原地。
原因
这两条命令都走官方发布源下载新版二进制。网络条件不佳时会一直等到超时。
关键点在于:npm 上的 @anthropic-ai/claude-code-linux-x64 包里就是同一个二进制文件,而 npm 有国内可用的镜像源。所以完全可以绕开自动升级,手工完成。
解决
1. 查最新版本号
curl -s https://registry.npmmirror.com/@anthropic-ai/claude-code/latest \
| grep -o '"version":"[^"]*"' | head -1
2. 下载并解包
V=2.1.238 # 换成上一步查到的版本号,别照抄
cd "$(mktemp -d)"
curl -sSL -o p.tgz \
"https://registry.npmmirror.com/@anthropic-ai/claude-code-linux-x64/-/claude-code-linux-x64-$V.tgz"
tar xzf p.tgz # 二进制在 package/claude
选包提示:glibc 系统(Ubuntu / Debian / CentOS)用 linux-x64,不要选 -musl 那个,那是 Alpine 用的。
3. 安装到版本目录
D=~/.local/share/claude/versions/$V
install -Dm755 package/claude "$D/claude"
"$D/claude" --version # 先确认新版本能跑
4. 确认无误后再切软链
ln -sfn "$D/claude" ~/.local/bin/claude
claude --version
顺序很重要:先验证新二进制可执行,再改软链。这样即使新版本有问题,当前可用的版本也不受影响。
升级失败了怎么回滚
旧版本都还在,切回去就行:
ls ~/.local/share/claude/versions/ # 看有哪些版本
ln -sfn ~/.local/share/claude/versions/<旧版本>/claude ~/.local/bin/claude
注意早期版本的目录布局不同——versions/<版本> 本身就是可执行文件,软链要指到它而不是它下面。指错了会报 Is a directory。
怎么确认升级成功
claude --version # 版本号已更新
ls -la ~/.local/bin/claude # 软链指向新版本的可执行文件
改软链不影响已经在运行的会话,需要重启 Claude Code 才生效。
还没把 Claude Code 跑起来?
Code2AI(code2ai.codes)提供官方 Claude Code 命令行的订阅制接入, 配置两个环境变量即可开始使用,支持全系列 Claude 模型,额度在控制台实时可查。