Claude Code 安装菜鸟教程(Ubuntu 24.04 + nvm + 国内镜像源)
本文记录在一台 Ubuntu 24.04 LTS 机器上安装 Claude Code(Anthropic 官方的终端 AI 编程工具)的全过程,版本 2.1.280。
写这篇的原因是:安装本身只有一条命令,但这条命令在国内网络环境下几乎必卡,而且装完之后大概率会遇到「明明提示安装成功,claude 命令却找不到」的情况。下面把每一步的命令、原因、预期输出和排查方法都写清楚。
适用环境:Ubuntu 24.04.5 LTS / Node v24.21.0(nvm 安装)/ npm 11.19.0 / Claude Code 2.1.280
适合人群:第一次在 Linux 上装 Claude Code,想知道每条命令在干什么
一、Claude Code 是什么
一句话:跑在终端里的 AI 编程助手。它不像 IDE 插件那样需要打开编辑器,而是直接在命令行里读你的项目、改代码、跑命令、提交 Git。
它的分发方式是一个 npm 包:@anthropic-ai/claude-code。核心是一个 200 多 MB 的原生二进制(不是纯 JS),所以装的时候会按平台拉取对应的二进制包。
前置条件:Node.js 18 及以上。就这么一个要求,没有别的依赖。
二、安装前:检查环境
先确认 Node 和 npm 在位、版本达标:
1 | node -v # 预期:v24.21.0(>= 18 即可) |
顺便确认系统版本(后面排查会用到):
1 | cat /etc/os-release | head -3 # PRETTY_NAME="Ubuntu 24.04.5 LTS" |
如果 node -v 报 command not found,说明还没装 Node,先装。推荐用 nvm(可以在多个 Node 版本间切换,且不需要 root 权限):
1 | curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.7/install.sh | bash |
三、关键决策:要不要换镜像源
这是整篇文章最实用的一段。
Claude Code 的官方安装命令是:
1 | npm install -g @anthropic-ai/claude-code |
在国内网络下直接跑这条,大概率表现为「卡住不动」——终端没有报错,也没有进度,就那么停着,直到超时。
为什么会这样?可以自己测一下两个源的实际响应速度:
1 | # 测试官方源 |
本机实测结果:
| 源 | 结果 |
|---|---|
官方源 registry.npmjs.org |
超时,12 秒无响应 |
国内镜像 registry.npmmirror.com |
7.1 秒返回 200 |
所以安装命令要带上镜像参数。推荐用一次性参数(只影响这一条命令,不改动全局配置):
1 | npm install -g @anthropic-ai/claude-code \ |
参数解释:
--registry=...:本次安装从指定源下载。--no-audit:跳过安全审计,能省几十秒。--no-fund:不打印赞助信息。
如果你想一劳永逸地换源(之后所有 npm 命令都走镜像):
1 | npm config set registry https://registry.npmmirror.com |
安装过程约 2 分钟(主要是下载那个 200MB+ 的二进制)。看到 changed 2 packages 就说明成功了。
四、安装后:验证
1 | claude --version |
预期输出:
1 | 2.1.280 (Claude Code) |
如果这里报 claude: command not found,不要慌,也不要重装,直接跳到第六节的坑 3,那是 PATH 问题,不是安装失败。
五、三个坑(按踩到的概率排序)
坑 1:命令看起来卡死(最常见)
现象:执行安装命令后终端长时间无输出。
原因:npm 在从官方源下载,网络不通就会一直挂着(npm 默认超时较长,期间不打进度)。
解决:按第三节换成国内镜像源。也可以加 --loglevel=http,让它把每次 HTTP 请求打出来,至少有东西在动,方便判断是真的在下载还是已经卡死:
1 | npm install -g @anthropic-ai/claude-code \ |
坑 2:不要加 sudo
现象:网上有些教程写 sudo npm install -g ...。
为什么不该加:如果你用 nvm 装的 Node,那么 npm 的全局目录在你自己的家目录里,本来就可写,加 sudo 纯属多余,而且会让包文件的属主变成 root,以后更新、卸载都会遇到权限麻烦。
怎么判断自己的全局目录在哪、需不需要 sudo:
1 | npm config get prefix |
- 输出形如
/home/你的用户名/.nvm/versions/node/vXX/bin→ 用户目录,不要 sudo。 - 输出形如
/usr/local或/usr→ 系统目录,才需要考虑 sudo(更推荐改成用 nvm 或配置 npm 的用户级目录)。
想确认目录是否可写,实测一次最准:
1 | touch /usr/local/lib/node_modules/.wtest && echo "可写" || echo "不可写" |
坑 3:安装成功但 claude 命令找不到(最容易误判)
现象:安装输出显示成功,但执行下面这条没有任何返回:
1 | which claude # 空输出 |
原因:Claude Code 被装到了 nvm 的 Node 版本目录下:
1 | ~/.nvm/versions/node/v24.21.0/bin/claude |
而这个目录是由 nvm 在每次启动交互式 shell 时动态加入 PATH 的。nvm 的加载代码写在 ~/.bashrc 里,而 .bashrc 只在交互式终端中执行。所以在某些非交互场景(脚本、IDE 内置终端、远程执行)里,PATH 里就没有这个目录。
排查三步:
1 | # 1. 先看 PATH 里有没有 nvm 的目录 |
第 2 步能输出版本号,就证明程序是好的,只是 PATH 没配。
解决方法(选一个):
最简单——打开一个新的终端窗口再试。新终端会完整加载 .bashrc,nvm 会把 PATH 配好。
如果新终端还是不行,就把路径写死进 .bashrc:
1 | echo 'export PATH="$HOME/.nvm/versions/node/v24.21.0/bin:$PATH"' >> ~/.bashrc |
注意上面那行里的版本号
v24.21.0要换成你自己的实际版本(node -v查)。以后用 nvm 切换 Node 版本,记得同步改这一行。
六、关于安装时的一个警告(可忽略)
npm 11 安装结束时可能会看到:
1 | npm warn install-scripts 1 package has install scripts not yet covered by allowScripts: |
这是 npm 新版本的安全策略:默认不自动执行包的 postinstall 脚本,需要显式授权。
实际检查下来,二进制和命令链接都已经正确就位了(bin/claude.exe 存在,bin/claude 软链已建),功能不受影响,可以不管。
如果你确实想让它跑一遍那个脚本:
1 | npm install -g @anthropic-ai/claude-code --allow-scripts=@anthropic-ai/claude-code |
七、首次启动与登录
1 | claude |
首次运行会引导登录,两种方式二选一:
- Anthropic 账号登录(订阅用户):浏览器授权后回终端。
- API Key:设置环境变量
ANTHROPIC_API_KEY。
重要:Claude Code 是交互式 TUI 程序,需要真正的终端(TTY)才能运行。在 CI 脚本、或被
timeout/管道包裹的非交互环境里跑会失败或异常退出。
八、常用命令速查
1 | claude --version # 查看版本 |
九、一句话总结
1 | # 检查 |
三个要记住的点:国内必须换源;nvm 用户不要加 sudo;命令找不到先查 PATH,别急着重装。