Ubuntu上安装Claude Code完整教程:从环境准备到云端部署
2026/9/19 13:56:45 网站建设 项目流程

上个月我把一台放了很久的 Ubuntu 机器重新擦干净装成开发机,折腾完 Claude Code 之后,整个终端工作流基本就离不开了。说实话,这类 AI 编程工具在网页上用和在终端里用完全是两种体验——Claude Code 直接跑在命令行里,能看懂整个项目仓库,改起代码来像有个同事坐在旁边给你递补丁。这篇教程就是我从零开始,在一台干净的 Ubuntu 系统上完整部署 Claude Code 的记录,包括本地桌面环境和云端服务器两种跑法。如果你正准备把 Claude Code 装到自己的 Linux 开发环境里,跟着一步步走就行。

1. Claude Code 到底是什么,为什么值得装进 Ubuntu 终端

先聊清楚一个事情:Claude Code 不是一个网页套壳,也不像有些工具那样只给你生成一段代码让你自己复制粘贴。它本质上是一个跑在终端里的 AI 编程助手,启动之后你可以用自然语言直接跟它对话,比如"帮我把这个模块的重试逻辑整理一下"、"给这个函数补单元测试"、"查一下为什么这个接口偶发超时"。它会自己去读项目文件、搜索代码、执行测试命令,然后用 diff 的形式把改动直接呈现在你面前,你确认之后才会写入文件。

1.1 和网页版、IDE 插件的核心区别

  • 网页版适合单次问答,但它看不到你的完整项目结构和历史改动
  • IDE 插件需要你打开编辑器才能用,云端服务器或者纯命令行环境下很难集成
  • Claude Code 运行在终端里,跟 Git、SSH、项目目录天然贴合,特别适合远程开发、CI 脚本、服务器运维这类场景

我在实际使用中最明显的感受是:它不挑环境。只要有一台能跑 Node.js 的 Linux 机器,你就能用。对于经常要 SSH 到云服务器上排查问题的场景,这个东西比开一个完整的 IDE 轻太多。

1.2 适合谁来用

  • 用 Ubuntu 做主力开发机的后端工程师、运维工程师
  • 在云服务器上跑自动化任务、需要 AI 辅助写脚本和排查日志的人
  • 想把手头的 AI 工具链从"网页问答"升级到"项目级操作"的开发者

1.3 它到底能帮你做什么

举个我自己的实际案例:之前有个旧项目里有大量重复的 HTTP 请求封装,每个文件里都复制粘贴了一大段。我用 Claude Code 在项目根目录启动,输入一句"把公共请求逻辑提取成一个工具函数,所有文件改成调用它",它直接列出了涉及的文件清单、改动方案和风险点,我确认后就逐个文件改完了。如果让我自己手动改,至少一小时起步,那次整个过程不到十分钟。

2. 动手安装之前,先检查这三件事

很多人在 Ubuntu 上装 Claude Code 卡住,其实卡住的点都特别基础:Node.js 版本太老、npm 版本不对、或者压根没确认过自己的登录凭证。所以我在这一步会多说几句,别急着敲安装命令。

2.1 Node.js 版本:老 Ubuntu 最常见的坑

Claude Code 是 Node.js 写的,对运行环境有最低版本要求。按照官方说明,Node.js 18 以上的版本可以正常运行,但我的实际建议是直接上 Node.js 20 LTS 或者更高。如果你是新装的 Ubuntu 20.04 或者 22.04,直接apt install nodejs装出来的版本往往只有 10.x 或者 12.x,这个是跑不起来的。

我整理了一张版本情况对照表:

Ubuntu 版本apt 默认 Node.js能否直接跑 Claude Code建议方案
20.04 FocalNode.js 10.x不能用 nvm 安装 Node.js 20 LTS
22.04 JammyNode.js 12.x不能用 nvm 安装 Node.js 20 LTS
24.04 NobleNode.js 18.x勉强可以,但建议升级用 nvm 安装 Node.js 20 LTS

提示:不是你手动编译一个高版本 Node.js 就能解决所有问题,关键是npmnpx命令也要跟着新版本走。如果你已经在系统里装过低版本 Node.js,之后再装 nvm 可能会遇到命令冲突,建议先看清楚现在的执行路径。

2.2 npm 的配置和权限:EACCES 错误都是从这里来的

Ubuntu 的系统级npm在全局安装包时经常遇到权限问题,最典型的就是执行npm install -g的时候报EACCES: permission denied。遇到这个情况,我不推荐直接用sudo npm install,那样会把所有全局包都装到 root 目录下,后续用起来容易出乱子。

更稳妥的办法就是直接装一个nvm,让 Node.js 和你安装的全局包都放在当前用户目录下,彻底绕开/usr/lib/node_modules的系统写权限问题。这部分我会在下一章详细写步骤。

2.3 登录凭证准备

Claude Code 在使用前需要完成一次身份认证。你需要有一个可用的 Claude 账号,然后按照终端里的提示完成授权。如果你是在本地桌面版的 Ubuntu 上操作,会弹出浏览器窗口确认权限;如果是在纯命令行的云端服务器上操作,流程会稍微不一样,后面第四节会单独说。

这里强调一句:如果你已经可以正常登录 Claude 官网使用服务,认证这一步基本就是顺畅的,准备好对应账号的邮箱和密码就行。

3. 一步一步装好 Claude Code:我用的完整命令记录

这一章纯步骤,你照着敲就行。我尽量把每一步为什么这么做讲清楚,遇到问题也知道怎么回头查。

3.1 第一步:用 nvm 安装 Node.js 20 LTS

我个人非常推荐用 nvm 来管理 Node.js 版本,尤其你以后可能还要跑其他 Node 项目。nvm 最大的好处是不同项目的 Node 版本可以切换,不会互相污染。

先安装 nvm 的依赖基础,然后拉取安装脚本:

sudo apt update sudo apt install curl git curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.7/install.sh | bash

安装完成之后,重新打开终端或者执行下面的命令让 nvm 生效:

export NVM_DIR="$HOME/.nvm" [ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh"

然后装上 Node.js 20 LTS:

nvm install 20 nvm alias default 20 node -v npm -v

看到v20.x.x和对应的 npm 版本,这一步就算过了。我在这台机器上跑的是 v20.18.0,Claude Code 的安装过程没有遇到任何版本兼容问题。

注意:如果你打开新的终端后node命令找不到,多半是 nvm 环境变量没有自动写入~/.bashrc,检查一下安装脚本是否在.bashrc末尾追加了相关配置,没有的话手动加进去。

3.2 第二步:安装 Claude Code

Node.js 环境就绪后,安装 Claude Code 就一条命令的事:

npm install -g @anthropic-ai/claude-code

这一步会从 npm 仓库拉取包然后做全局安装。装完之后验证一下:

claude --version

如果终端能输出类似1.x.x的版本号,说明核心程序已经装好了。这时候你就已经可以在任意项目目录里启动claude了。

我在实际安装中看到,这个包有一些原生模块依赖,npm 在安装时会自动处理,正常情况下不需要你手动装其他编译工具。但如果你用的是比较精简的 Ubuntu Server 版本,缺了build-essential的话,理论上也可能触发 node-gyp 编译问题,保险起见可以提前执行:

sudo apt install build-essential

3.3 第三步:首次启动和认证

在准备用 Claude Code 的目录里直接输入:

claude

第一次运行时,它会提示你完成登录。桌面版 Ubuntu 会打开浏览器,跳转到授权页面,你确认账号并授权就行。如果你是纯命令行环境,它会给你一个一次性验证码或者跳转到专门的授权链接,完整的流程会出现在终端里,按提示操作即可。

认证完成后,程序会把凭证信息保存在当前用户目录的配置文件中,之后使用就不需要反复登录了。

提示:这个凭证文件建议做好备份,尤其是云端服务器场景,重装系统后直接复用能省掉重新认证的麻烦。

3.4 第四步:在项目目录里跑通一次完整对话

认证完毕,随便进入一个你的代码项目,输入claude,它会扫描项目文件并给出一些项目理解的提示。此时你可以试着问一句:

帮我看看这个项目的目录结构,然后告诉我哪些地方最值得增加测试。

如果它正常回复,并且你能看到它对文件进行了检索和引用,恭喜你,这次安装就算真正跑通了。

4. 本地桌面版和云端服务器两种部署跑法有什么不一样

很多人忽略一个问题:在同一套安装步骤下,本地 Ubuntu 桌面机和云端 Ubuntu 服务器在认证方式、进程管理、权限控制上其实是有区别的。这一章我把两种环境的差异和各自的部署建议拆开讲。

4.1 本地桌面 Ubuntu:适合日常编码和交互式使用

本地环境最省心。认证走浏览器,使用走交互式界面,你直接在一个终端窗口里启动claude,就像打开一个集成在项目里的聊天窗。本地跑法的核心优势是:

  • 可以随时用图形界面查看改动后的文件、跑 git diff
  • 需要看代码运行结果时可以并行开多个终端
  • 不受 SSH 断连影响,进程挂在本地

我现在的主力开发机就是 Ubuntu 桌面系统,平时写代码、改配置、查日志全在终端里完成。Claude Code 和 VSCode 的终端也可以配合使用,你在编辑器里写好代码后,直接在底部终端启动claude,它会自动识别当前工作目录。

4.2 云端无桌面服务器:适合自动化、批处理和长时间任务

云端服务器通常没有图形界面,你通过 SSH 连接,所有操作都是纯文本。这种场景下 Claude Code 同样可用,但我建议注意三个点。

第一,认证流程。无头服务器上没有浏览器,你需要用终端里给出的授权链接在本地电脑浏览器打开并完成认证,然后把会话令牌复制回服务器。这个流程官方支持,按照提示操作就行。

第二,保持会话。用 SSH 连接云服务器时,如果连接中断,正在运行的claude进程就会收到挂断信号。我一般用tmux或者screen把会话挂起来,这样即使 SSH 断了,Claude Code 还能继续执行之前的任务。命令大致是这样:

tmux new -s claude-session claude # 需要退出时先按 Ctrl+b,再按 d 分离会话 # 之后使用 tmux attach -t claude-session 重新接回

第三,权限控制。云端服务器通常有多个开发者和自动化任务共存,给 Claude Code 一个尽量小的权限范围更稳妥。我一般不让它直接访问整个文件系统,而是通过项目的权限配置把可操作范围限制在当前目录下。

4.3 一台机器上同时跑多个项目实例

如果你的开发状态是同时维护多个项目,可以每个项目开一个终端窗口分别启动claude,它会把各自的目录作为工作上下文,互不干扰。官方还支持通过配置项指定工作目录,这个后面在进阶配置里讲。

5. 安装部署过程中我踩过的坑:完整排查链路

每次写教程,我都想把踩坑排查的过程放进来,因为直接告诉你"这样做就能成功"其实价值有限,真正能帮你节省时间的往往是怎么定位问题。

5.1 坑一:Ubuntu 系统自带的 Node.js 太旧,导致启动报错

第一次在一台 Ubuntu 22.04 机器上装,我图省事直接用了默认的 apt 源安装 Node.js:

sudo apt install nodejs npm

当时查版本:

node -v # v12.22.9

装完 Claude Code 后执行claude --version,结果报了一连串的语法错误。这种错误通常不是 Claude Code 本身的问题,而是 Node.js 版本过低,代码里用了高版本才支持的语法特性,旧版本解析不了。

排查思路:先看 Node.js 版本,确认是不是太低;再看which claude指向的全局路径是否和当前 Node.js 属于同一套环境。我最后删掉 apt 装的旧版本,改用 nvm 装上 Node.js 20,问题直接消失。

5.2 坑二:npm 全局安装时出现 EACCES 权限报错

如果你没有用 nvm 而是保留了系统级的 Node.js,执行npm install -g很可能遇到这个报错:

npm ERR! code EACCES npm ERR! syscall mkdir npm ERR! path /usr/lib/node_modules/@anthropic-ai

原因很直接:全局安装包需要写/usr/lib/node_modules目录,而这个目录归 root 所有,当前用户没有写权限。很多人会顺手加sudo,我当时也试过,虽然能装上,但后面 npm update 和卸载都会带上权限泥潭。所以我现在遇到这种情况都会劝一句:别跟权限较劲,直接切换到 nvm 或者通过设置 npm 全局目录到用户目录来解决。

5.3 坑三:认证成功后claude仍然提示未登录

这种一般不是安装问题,而是凭证没有落盘成功。常见原因是你使用了sudo安装了 Claude Code,或者启动时用了sudo claude,导致它把凭证写到了 root 用户目录,而你自己用户的终端读不到。

排查思路:检查~/.claude目录是否存在且有正常内容;如果你刚才用 sudo 跑过,也可以直接对比/root/.claude目录。遇到过好几个人问我"为什么明明登录成功了下一次又要登录",基本都是这个原因。

5.4 坑四:claude命令找不到

这种情况最常出现在"装是装成功了,但新开的终端找不到命令"上。原因通常是 nvm 相关的环境变量没有加载,或者 npm 全局目录不在 PATH 里。

排查链路:

which npm npm config get prefix ls $(npm config get prefix)/bin | grep claude

如果最后一条找不到 claude,说明安装路径异常;如果找得到但新终端不认,就去~/.bashrc里看 nvm 的初始化配置是否确实生效了。

5.5 坑五:云端无头服务器上认证链接打不开

在云服务器上首次认证时,终端会输出一个授权链接。很多人习惯直接在服务器上用文本浏览器去开,那个体验很差。正确做法是把链接复制到你自己电脑的浏览器里打开,完成授权后回到服务器终端继续。这个流程不复杂,但如果不清楚原理,很容易卡在"链接打不开"这一步。

6. 装完之后,这几种配置能让它更好用

安装只是开始。经过这段时间的使用,我发现下面几个配置项和习惯对实际效率提升最明显。

6.1 利用项目里的 CLAUDE.md 文件固定上下文

Claude Code 会读取项目根目录下的CLAUDE.md文件作为长期记忆。你可以在这个文件里写清楚项目的技术栈、代码风格、常用命令、目录结构,甚至是你希望 AI 遵守的编码规范。它每次启动都会自动加载这个文件,相当于给 AI 做了一次项目培训。

我自己的模板长这样:

# 项目提示词 ## 技术栈 - 后端:Python 3.11,FastAPI - 前端:React 18,Vite ## 常用命令 - 运行测试:pytest tests/ - 启动开发服务:uvicorn app.main:app --reload ## 编码规范 - 类型标注必写 - 不使用全局变量 - 数据库操作统一走 SQLAlchemy session

刚接触这个功能的时候我也觉得麻烦,但写完之后 Claude Code 给出的建议质量和代码风格确实有明显提升。

6.2 权限控制:把 AI 限制在当前目录内

在多用户机器上使用,或者只是单纯不想让 AI 乱动系统文件,可以开启权限限制模式。启动时加一个参数:

claude --permission-mode=aplan

这个模式会对文件改动和命令执行先给出方案,等你确认后再动手,适合在涉及敏感文件的时候使用。默认的对话式确认适合日常开发,但如果你要睡觉前挂一个长任务跑,建议给足够的权限并提前审查任务内容。

6.3 更新到最新版本

Claude Code 的迭代速度不慢,官方也提供在终端里直接更新的命令:

claude update

如果这个命令不可用,也可以通过 npm 手动更新:

npm update -g @anthropic-ai/claude-code

我个人的习惯是每周更新一次,既能用上新功能,也能避免跨版本过大导致的配置不兼容。

6.4 用环境变量注入 API Key

个人开发或者自动化脚本场景里,你可能不想走交互式登录认证,而是直接用 API Key 方式接入。这样可以在系统环境变量里设置好密钥,让 Claude Code 启动时自动读取。这个方式在 CI/CD 流水线里尤其有用,不用人工干预凭证。具体环境变量名和文档建议以你部署时最新版本的信息为准,装完可以先用claude --help看一下当前的认证和相关配置选项。

写在最后的一些使用心得

装好只是第一步,真正让它变成生产力工具,关键还是要养成"把项目背景讲清楚、把任务拆细"的习惯。我现在每次让它做重构之前,都会先在对话里把约束条件说完整,比如"不要动公共接口签名""保持向后兼容""新增的代码必须带单元测试"。这样给出来的改动基本不用大调。另外,用它跑那些重复度高、模板化程度高的任务,比如批量加注释、统一日志格式、修 lint 报错,是真的省心;但涉及架构决策、数据迁移这类要综合考虑业务背景的事情,我还是习惯自己拿主意,让它负责把方案细节落地和查漏。如果这份记录能让你在 Ubuntu 上的安装和上手过程少绕一些弯,那就很值了。

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询