
在 Ubuntu 20.04 终端里装 Claude老实说难度不大但坑是真不少。最典型的翻车现场就是你打开终端装了一通最后敲claude回车系统直接甩给你一句command not found。问题出在哪绝大多数情况不是 Claude 没装上而是前面的环境环节出了岔子——要么是 Node.js 版本太老要么是 npm 全局路径没对要么是 PATH 环境变量有问题。这篇文章不是把网上的安装命令抄一遍而是带你把从零到能用的整条链路理清楚。我会从 Ubuntu 20.04 这个系统的特殊性讲起到 Node 环境怎么配最省心再到 Claude Code 怎么装、怎么配置 API Key、怎么排查常见报错全部用我能踩过的坑和经验来讲。无论你是刚接触 Linux 的小白还是想从 IDE 迁移到终端流的老手这篇都适合你。1. 动手之前先说清楚 Claude Code 是什么以及为什么值得装1.1 终端里的 Claude和网页版到底有什么区别Claude Code 是 Anthropic 官方推出的命令行 AI 助手工具跟你在网页上和 Claude 聊天是两回事。网页版的价值在于问答和内容生成但 Claude Code 是真正长在项目里的它能在终端里直接读取你当前目录下的代码文件理解项目的结构然后帮你改代码、跑命令、解释报错甚至按照你的要求一次性修改多个文件。打个比方网页版 Claude 像一个在线的顾问你问一句它答一句Claude Code 则像一个愿意住进你电脑里的实习生能直接看到你的工程代码能执行命令还能把修改结果体现在文件里。对于写代码、做运维、折腾配置的人来说这种深度绑定本地环境的用法才是真正提效的地方。也正因为它要执行命令、读取本地文件所以它和其他依赖 Node.js 的命令行工具一样需要一个正确的安装环境。这一点恰恰是很多 Ubuntu 20.04 用户翻车的地方。1.2 Ubuntu 20.04 这个版本卡在了哪一环Ubuntu 20.04 是 2020 年发布的 LTS 长期支持版本稳定、用户多、资料好查到今天依然有大量服务器和个人电脑跑着它。但它的一个问题在于系统软件源里的 Node.js 版本非常旧默认装下来可能只有 10.19 或 12.x。Claude Code 对 Node.js 版本有硬性要求官方明确建议 Node.js 18 及以上。你用老的 Node 去跑要么装不上要么装上了启动就报错。所以很多人一上来就sudo apt install nodejs npm一条命令走天下结果后面全卡住了。这不是说 apt 不能用而是它在这个场景下真的不顶用。正确做法是用版本管理器来装 Node这样既能保证版本够新以后想切换版本也方便。后面我会详细演示。1.3 安装前快速自查三个条件确认好再动手在开始前先花两分钟确认三件事能少踩很多坑系统架构是 64 位。终端执行uname -m输出x86_64就没问题。老旧的 32 位系统基本不用考虑了。已经装好了基础工具。终端执行which curl git能输出路径说明有如果提示找不到用sudo apt update sudo apt install curl git -y补上。有可用的 Claude API Key 或者准备登录官方账号。安装本身不强制要 Key但你第一次启动 Claude Code 时总得用一种方式完成认证这个我们后面细说。这三样确认完环境思路就清楚了先把 Node 搞定再装 Claude Code最后配认证。一步一步来。2. 环境准备把 Node.js 一次配到能用别在这里省时间2.1 为什么我强烈不建议用 apt 直接装 Node你可能会想sudo apt install nodejs npm一行搞定多省事。我最早也是这么干的后来被坑得体无完肤。原因有三第一版本太旧。Ubuntu 20.04 官方源里经过测试的 Node.js 是 10.19这个版本跑现代命令行工具已经力不从心。Claude Code 要求 18差了整整两个大版本很多新语法和新特性根本不支持。第二apt 里的版本更新极慢。除非你手动添加 NodeSource 等第三方源否则 apt 永远只会给你仓库里固定的旧版本不会跟随上游更新。你装完就定格了。第三系统级安装容易引发权限问题。apt 会把包装到系统目录一旦你后面想用 npm 全局装工具频繁遇到 EACCES 权限错误是家常便饭。排查起来比多花五分钟用对方法更头疼。所以我的建议非常明确用 nvmNode Version Manager来管理 Node.js。它的好处是Node 安装在你自己的用户目录下不需要 sudo版本随时切换装了新版也不会污染系统自带的旧版。2.2 nvm 安装与切换 Node 版本的具体操作先把 nvm 装上终端执行curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.7/install.sh | bash这里解释一下这条命令做了什么curl下载远程安装脚本-o-表示把内容直接输出到标准输出然后通过管道|交给bash执行。装完后脚本会自动往你的~/.bashrc如果你用的是 zsh 则是~/.zshrc里写入环境变量配置。然后重载配置文件让 nvm 命令生效source ~/.bashrc验证一下nvm --version如果输出了版本号说明 nvm 已经就位。接下来安装 Node.js 20这个版本是当前 LTS稳定性和兼容性都过关nvm install 20安装完成后把默认版本固定到 20nvm alias default 20最后确认node -v npm -v正常情况下你会看到类似v20.x.x和10.x.x的输出。到这里Node 环境就算彻底通了。一个很容易被忽视的小细节如果你关闭终端再重新打开发现 node 命令又没了那就是 nvm 的环境变量没加载。看一下~/.bashrc里有没有 nvm 相关的初始化代码手动source ~/.bashrc再试。2.3 顺手把 npm 源也配置好下载速度快一个级别npm 默认的官方源在国外国内网络环境下下载慢是常事。装 Claude Code 的包体积不算小如果 npm 下载卡着不动会非常耽误事。我建议在装 Claude 之前先把 npm 镜像源换了。查看当前源npm config get registry默认输出通常是https://registry.npmjs.org/改成国内镜像npm config set registry https://registry.npmmirror.com再验证一次确认输出变成了镜像源地址。这一步不是必须的但实际体验差距很大。很多教程直接跳过这个结果读者卡在下载超时上其实改一下源就解决了。改完之后接下来装 Claude Code 会顺畅很多。3. 正式安装在终端里把 Claude Code 装好并跑起来3.1 安装命令选哪种npm 全局安装还是官方脚本Node 环境就绪后安装 Claude Code 就有两条路可以走。第一条npm 全局安装。这也是官方推荐的方式之一npm install -g anthropic-ai/claude-code-g代表全局安装装好之后claude命令就是一个全局可用的终端命令了。输入claude --version能看到版本号就说明安装成功。第二条使用官方提供的安装脚本curl -fsSL https://claude.ai/install.sh | bash这个方式本质上也是帮你检测环境、下载对应版本然后装到~/.local/bin下。如果你用 npm 遇到奇怪的权限问题或网络问题可以换官方脚本试试。我个人的习惯是用 npm 全局安装因为后续升级很方便一条npm update -g anthropic-ai/claude-code就能搞定。不管用哪种方式装完后第一件事都是验证claude --version这一步能确认命令是否真正进入了你的 PATH。如果提示找不到或者 Permission denied下面第四章有详细的排查方案先别慌。3.2 API Key 配置三种方式总有一种适合你Claude Code 需要认证之后才能正常对话和调用模型认证方式有三种按推荐程度排序第一种环境变量方式。如果你已经有 API Key把它放到环境变量里即可export ANTHROPIC_API_KEY你的API密钥这个命令只在当前终端生效关闭终端就没了。想永久生效把它写进~/.bashrc末尾然后source ~/.bashrc。第二种启动后交互式登录。直接敲claude进入交互界面它会根据引导完成登录流程。这种方式适合没有 Key、用官方账号登录的人。第三种在 Claude Code 的会话里输入/login指令重新触发认证流程。我建议不管用哪种方式配好后都用下面的命令确认一下环境变量是否生效env | grep ANTHROPIC看到对应的 Key 输出就说明环境没问题了。如果你在这里没输出claude启动时可能会反复提示未认证这不是 Claude 的问题是你 Key 没配进去。3.3 第一次启动终端里的 Claude 到底怎么用认证完成后在项目目录下敲claude你会看到它在终端里启动一个交互式对话界面。第一次使用的人可能会觉得这个界面怎么这么简陋但这恰恰是它的最大优势不占图形资源、所有操作都在键盘上、跟代码工程天然贴近。在交互界面里你可以直接输入自然语言比如帮我解释一下当前目录下 main.py 的逻辑给这个函数加上参数类型检查为什么我的服务启动时报 ModuleNotFoundErrorClaude 会结合当前目录的文件给出回答或直接修改。几个高频操作先记一下/help查看所有支持的命令/status查看当前会话状态和已读取的上下文/quit或者CtrlC两次退出会话直接输入问题并回车开始对话第一次启动如果能正常进入对话界面说明整条链路已经通了。接下来你要做的就是多试几个真实问题感受它在项目里的工作方式。4. 高频报错排查把安装过程最常见的坑一次填平4.1claude: command not found的两种原因要对症下药这是最多人遇到的情况而且它有两种完全不同的原因。第一种是 npm 全局安装目录不在 PATH 里。npm 全局包默认装到/usr/local/bin或~/.npm-global/bin下取决于你的 Node 安装方式。用 nvm 装 Node 的话npm 全局 bin 目录通常是~/.nvm/versions/node/v20.x.x/bin或者链接到/usr/local/bin。如果这个目录不在 PATH 中终端就无法找到claude。先查一下 npm 全局 bin 目录到底在哪npm prefix -g再查看当前 PATHecho $PATH确认路径后如果确实没有把它追加到~/.bashrcexport PATH$PATH:$(npm prefix -g)/bin执行source ~/.bashrc后再试claude --version。第二种是 Node 版本太老导致安装失败或安装了但启动报错。用node -v确认版本如果低于 18回到前面 2.2 节用 nvm 安装 20 版然后重新执行 npm 全局安装。4.2 EACCES 权限错误为什么用 nvm 反而能避开如果你在 npm 全局安装时遇到EACCES: permission denied一类的报错十有八九是之前用 apt 或 sudo 方式装过 Node导致 npm 的全局目录被系统文件所有者占用了。遇到这种情况最简单的解法就是切换到 nvm 管理让全局包安装到用户目录下。如果你已经在用 nvm 了还出现权限错误检查一下当前的 npm prefixnpm config get prefix如果输出的是/usr这样的系统目录说明你还在用系统级 npm 配置。把全局路径改到用户目录mkdir -p ~/.npm-global npm config set prefix ~/.npm-global然后像 4.1 节那样把~/.npm-global/bin加入 PATH重新安装即可。4.3 遇到 failed to start claudes workspace 这类报错怎么处理热搜词里出现了一个非常典型的技术栈failed to start claudes workspace还有像rpc error -1: sdk version ... not ve这样的报错。这类问题通常出现在两种场景一种是在 Windows 的 PowerShell 下强行运行 claude但缺少虚拟化平台支持。很多教程标题是终端安装 claude步骤却写得不分系统结果在 Windows 上执行时一堆环境报错。别急先在 Linux 或 macOS 环境里操作Windows 用户建议用 WSL 开一个 Ubuntu 环境。如果你已经在 WSL 里报错提示和虚拟机平台相关去 Windows 功能里把虚拟机平台适用于 Linux 的 Windows 子系统两个选项打开重启后再试。另一种是 Node 版本和 Claude Code 内部 SDK 不匹配。SDK 版本过高或过低都可能触发 RPC 错误。这时候先升级 Claude Code 到最新版npm update -g anthropic-ai/claude-code再把 Node 切到 20 或 22 的 LTS 版本通常可以解决绝大多数兼容性报错。4.4 常见问题速查表报错或现象可能原因处理方式command not foundnpm 全局 bin 目录不在 PATH执行npm prefix -g把 bin 路径加入 PATHEACCES: permission denied全局目录归系统所有设置 prefix 为用户目录或用 nvm 重装node: v10.x.xNode 版本过低用 nvm 安装 20 并设为默认failed to start claudes workspace虚拟机平台未开启Windows打开相关功能后重启sdk version ... not veClaude Code 与 Node SDK 不兼容升级 Claude Code切换 Node LTS 版本无法将 claude 项识别为 cmdlet在 PowerShell 中执行 Linux 命令在 WSL 或真正的 Linux 终端里操作认证失败ANTHROPIC_API_KEY 未配置写入环境变量并source ~/.bashrcnpm 下载卡住默认源速度慢配置 npmmirror 镜像源如果你遇到的问题是这张表里没有的也别急着全网搜先看两样东西node -v和npm prefix -g。这两个命令的输出基本能帮你判断是不是环境问题。能走到终端安装这一步的人大多数时候不是不会跑命令而是被环境细节卡住了。5. 一些安装之外的经验可能比安装本身更重要5.1 装完不是结束建议先拿一个小项目练手很多人装完 Claude Code激动地敲claude启动然后发现自己不知道说什么。我的建议是不要在一个空的终端窗口里盲目提问而是先进入一个真实项目最好是你自己的代码仓库然后让它帮你完成一个具体的小任务。比如我的做法是先找一个小项目在项目根目录启动claude然后输入这个项目的 README 里描述的架构和实际代码是否一致不一致的地方列出来。它会扫一遍文件给你一个带文件路径和行号的回答。这种贴近真实环境的用法才最能体现 Claude Code 的价值。5.2 终端复用和配合工具Claude Code 是一个交互式长驻程序一旦你进入它的会话界面原本的终端就被占用了。如果你只有一个终端窗口就会发现在等待 Claude 回答时没法同时干别的。这时候可以考虑安装一个终端复用工具比如 tmux它可以让你在一个终端里开多个会话、分屏操作一边跑 Claude一边看日志效率翻倍。另外Ubuntu 20.04 默认的终端已经很不错但如果你觉得界面太朴素完全可以用 Tabby 这类现代终端工具来接管。Tabby 支持标签页、主题、字体配置等跟 Claude Code 的配合体验会更好一些。5.3 别忘了升级Claude Code 迭代速度很快你可能过两周就会遇到哦原来还能这么用的新功能。升级很简单npm update -g anthropic-ai/claude-code建议每隔一段时间执行一次。这个工具和系统里那些装上就不用管的软件不同它和上游模型能力绑定保持最新版本才能体验到最好的效果。最后分享一点个人体会我在安装过程中遇到最多的问题其实不在安装命令本身而在 Node 环境的混乱。很多人为了某个项目装过各种版本的 Node全局目录被多个工具改得乱七八糟最后装什么工具都报权限错误。我现在的习惯是新机器上第一时间装 nvm所有 Node 工具都用 nvm 创建的独立环境全局目录保持干净。Claude Code 装好后我又试了试在 VSCode 里通过终端插件调用它用起来也很顺手。终端的魅力就在于一旦你习惯了这种流式交互再回去手动敲命令改代码会感觉效率差了一大截。