linux 升级 claude code的坑

问题:

如果使用linux包管理器,例如apt 安装了 claude code,然后通过 claude update执行了更新,那么就会导致同时安装了两个版本!
核实版本:

which -a claude
输出:
/home/用户名/.local/bin/claude  # 这是claude update安装的版本,优先级最高
/usr/bin/claude # 这是apt等安装的版本
/bin/claude #这是软连接,指向/usr/bin/claude

APT安装

linux(debian or ubuntu)下,可以通过apt安装claude code,官方脚本

先设置 claude apt仓库

sudo install -d -m 0755 /etc/apt/keyrings
sudo curl -fsSL https://downloads.claude.ai/keys/claude-code.asc \
  -o /etc/apt/keyrings/claude-code.asc
echo "deb [signed-by=/etc/apt/keyrings/claude-code.asc] https://downloads.claude.ai/claude-code/apt/stable stable main" \
  | sudo tee /etc/apt/sources.list.d/claude-code.list

执行安装

sudo apt update
sudo apt install claude-code

或者通过代理安装

sudo apt -o Acquire::http::Proxy="http://127.0.0.1:你的代理端口" -o Acquire::https::Proxy="http://127.0.0.1:你的代理端口" update
sudo apt -o Acquire::http::Proxy="http://127.0.0.1:你的代理端口" -o Acquire::https::Proxy="http://127.0.0.1:你的代理端口" install claude-code

上述安装命令,安装目录为/usr/bin/claude

更新

安装完毕后,后期要通过apt更新claude code,千万别执行claude update

sudo apt  update
sudo apt upgrade claude-code

通过代理更新

sudo apt -o Acquire::http::Proxy="http://127.0.0.1:你的代理端口" -o Acquire::https::Proxy="http://127.0.0.1:你的代理端口" update
 
sudo apt -o Acquire::http::Proxy="http://127.0.0.1:你的代理端口" -o Acquire::https::Proxy="http://127.0.0.1:你的代理端口" upgrade claude-code

claude update 是为非 root 用户设计的自更新机制。为了避免请求 sudo 密码,它默认将新版本安装到用户级目录 ~/.local/bin。在绝大多数 Linux 发行版中,~/.local/bin$PATH 中的顺序优先于 /usr/bin

如果不小心使用了 claude update 进行了升级,可以删掉

# 验证
which -a claude
输出:
/home/用户名/.local/bin/claude
/usr/bin/claude
/bin/claude

# 删除用户级版本, ~/.local/bin/claude 是软链接,实际指向 ~/.local/share/claude/claude.版本号
rm -f ~/.local/bin/claude 
rm -rf ~/.local/share/claude

# 刷新 Shell 的缓存
hash -r

# 再次验证
which -a claude
输出:
/usr/bin/claude
/bin/claude

💡 未来的更新策略(二选一)

为了防止以后再搞混,建议统一更新渠道:

  • 方案 A(坚持用 APT):删除 ~/.local/bin/claude永远不再执行 claude update。以后只通过 sudo apt update && sudo apt upgrade claude-code 来更新。

  • 方案 B(改用自更新):卸载 APT 版本(sudo apt remove claude-code),只保留 ~/.local/bin/claude,以后只用 claude update 来升级。

posted @ 2026-06-29 18:01  悠哉大斌  阅读(58)  评论(0)    收藏  举报