news 2026/10/13 7:58:45

Linux/macOS安装Claude Code与Codex CLI完整指南与避坑手册

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
Linux/macOS安装Claude Code与Codex CLI完整指南与避坑手册

这俩工具最近在AI编程圈子里讨论度很高,一个来自Anthropic,一个来自OpenAI,都是跑在终端里的编程助手。我在Linux和macOS上都装过好几遍,也帮同事处理过各种安装问题,这里把完整的流程和容易踩的坑一起梳理出来。如果你正好在这两个系统上想装Claude Code或OpenAI Codex,这篇应该能帮你少走不少弯路。

1. 安装前的环境准备:Node.js版本和系统要求

先说结论:Claude Code和OpenAI Codex都依赖Node.js运行,而且对版本有最低要求。我见过很多人装到一半卡住,回头一看全是Node版本太老导致的。

Claude Code要求Node.js 18.0.0及以上版本,OpenAI Codex要求Node.js 18及以上。如果你机器上的Node还是16甚至更早的版本,npm install那一步大概率会直接报错,或者装完了一运行就提示语法错误。

1.1 检查系统里是否已有Node.js

打开终端,先执行:

node -v npm -v

如果能正常输出版本号,比如v20.11.0或者v18.19.0,说明Node环境已经有了。如果提示command not found,说明压根没装过Node,需要走下面的安装流程。

这里要特别提醒一下:有些Linux发行版自带的Node版本低得离谱,比如Ubuntu 20.04默认源里的nodejs版本是10.x,这离18的最低要求差得太远了。你直接apt install nodejs装完再跑npm,一定会出问题。所以如果你是用系统包管理器装的Node,务必确认一下版本号。

1.2 用nvm安装和管理Node版本

我自己一直用nvm管理Node版本,这个工具能在同一台机器上装多个Node版本,随时切换。之所以推荐它而不是直接去官网下载安装包,是因为你后面可能会用到不同项目、不同Node版本的情况,nvm切换起来非常方便。

安装nvm:

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

安装完nvm之后,需要重新加载一下shell配置,或者直接关掉终端重开。然后执行:

nvm install 20 nvm use 20

这里直接装Node 20是最省心的选择,既满足了两个工具的最低版本要求,又留出了一定的余量。Node 20目前是LTS版本,稳定性和兼容性都比较好。

1.3 macOS用户的选择:Homebrew方式

在macOS上,如果你不想用nvm,用Homebrew装Node也是一种常见做法:

brew install node

这条命令会装最新稳定版的Node,通常也是20或更高版本。不过我个人的建议是:macOS上同样用nvm来管理,因为后面如果遇到Node版本需要降级或者多个版本并存的情况,nvm会更灵活。Homebrew装的Node是全局唯一的,想切换版本比较麻烦。

还有个细节:macOS上如果之前装过某个旧版本Node,升级之后npm全局包可能会有残留,导致奇怪的冲突。遇到这种情况,可以用nvm彻底重装Node环境,一劳永逸。

1.4 确认Git环境

除了Node,还需要确认系统里有Git。Claude Code在初始化工作区和查看代码变更时依赖Git,OpenAI Codex同样会用到。

git --version

如果没有Git,Linux上可以用包管理器安装:

# Debian/Ubuntu系 sudo apt install git # RHEL/Fedora系 sudo dnf install git

macOS上如果之前装过Xcode Command Line Tools,Git一般已经有了。如果没有,安装时会自动弹出提示,或者手动执行:

xcode-select --install

2. Linux/macOS安装Claude Code的完整步骤

Claude Code是Anthropic官方推出的终端AI编程工具,现在安装方式已经统一为npm包,安装过程非常简单,重点在登录鉴权这一环节。

2.1 npm全局安装Claude Code

确认Node版本没问题之后,打开终端执行:

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

这条命令会把Claude Code安装到全局,装完之后执行:

claude

就能看到交互式界面了。首次运行的时候,工具会检查登录状态,如果发现你还没登录,会引导你走一遍鉴权流程。

装的过程中可能会遇到npm下载慢或者超时的情况。这里有几个思路:一是检查网络确实没问题再重试,二是可以切换npm镜像源来加速下载,三是确认npm缓存没有损坏。

# 查看当前npm源 npm config get registry # 临时切换到镜像源安装 npm install -g @anthropic-ai/claude-code --registry=https://registry.npmmirror.com

装完可以用下面的命令确认版本:

claude --version

如果能看到版本号,说明安装已经成功。我建议你到这一步先停一下,确认版本号能正常打出来,再继续下一步登录,这样排查问题的时候能清晰区分是哪一步出了问题。

2.2 登录鉴权过程

Claude Code的鉴权方式经历过几次迭代。现在的主流方式是Anthropic Console账号登录,也就是你平时使用Claude网页版用的那个账号。

执行claude命令后,终端会显示一个授权链接,浏览器打开链接完成登录授权,然后回到终端里确认即可。

这里分享一个我实际遇到过的坑:如果你所在的网络环境对浏览器访问有限制,授权链接可能打不开或者打开很慢,导致登录流程卡住。这种情况要优先检查网络环境对目标域名的访问是否正常,同时确认浏览器是否能正常打开常见的网页。

还有一种情况是,你已经在浏览器里登录了Anthropic账号,但终端里执行claude的时候依然提示未登录。这通常是终端代理没配好导致的。在Linux/macOS终端里,如果开了代理,需要确保http_proxy和https_proxy环境变量指向正确的代理地址,同时确认工具能正常访问鉴权接口。有一个很隐蔽的坑是,有些代理工具只在浏览器层面生效,并不会自动接管终端流量。

2.3 设置访问密钥的另一种方式

除了账号授权,Claude Code还支持通过环境变量传入访问密钥的方式,适合在远程服务器或者无浏览器的环境中使用。

export ANTHROPIC_API_KEY=你的密钥

设置好之后再执行claude,工具会尝试用这个密钥完成鉴权。这种方式的好处是完全不需要浏览器参与,坏处是密钥会暴露在shell历史记录里,用完之后记得清理。

我要提醒一下:如果你的操作场景是远程服务器,而且拿到的密钥是工作区专用的,务必把这串密钥像保护自己的密码一样对待。我见过有人把密钥直接写在启动脚本里然后提交到代码仓库,这是高危操作。更稳妥的做法是写进环境变量配置文件,并且确保这个文件不会被Git追踪。

2.4 安装后验证

登录成功之后,随便进一个有Git仓库的目录,执行claude,然后输入一句简单的指令测试,比如:

这个目录的代码结构是什么?简要说明一下

如果能正常回答,说明整个链路已经通了。注意,Claude Code在首次进入某个项目目录时,会要求你确认是否允许它读取目录里的文件,选择允许就行。

3. 安装OpenAI Codex的详细流程

OpenAI Codex是OpenAI推出的命令行编程工具,安装方式同样是npm全局包。跟Claude Code相比,它的登录方式有自己的特点,而且对Node版本的要求也需要注意。

3.1 npm安装Codex CLI

执行:

npm install -g @openai/codex

这里有个容易忽略的细节:早期版本的Codex包名和现在的包名有差异,如果你之前照着老教程装过旧版,建议先卸载再装新版:

npm uninstall -g @openai/codex npm install -g @openai/codex

装完之后执行:

codex --version

正常情况下会输出版本号。如果提示找不到命令,检查一下npm全局bin目录是否在PATH环境变量里。

# 查看npm全局bin路径 npm bin -g # 查看PATH里有没有这个路径 echo $PATH

遇到提示command not found的情况,通常是npm全局bin目录没有被加入PATH。解决办法是把上面查到的路径追加到shell配置文件的PATH里,比如在~/.zshrc或~/.bashrc中加一行:

export PATH="$(npm bin -g):$PATH"

3.2 登录与API密钥配置

OpenAI Codex目前的登录方式主要是通过ChatGPT账号授权。首次运行codex时,工具会生成一个授权链接,在浏览器中打开完成登录。

codex

它会显示类似这样的提示:打开某个URL,输入一段验证码完成设备授权。这个流程和很多终端工具的授权方式类似,属于OAuth设备授权流程。

如果这种方式不方便,Codex同样支持直接用API密钥:

export OPENAI_API_KEY=你的密钥

设置完环境变量后再启动codex,它会读取这个密钥。同样注意,这种方式下密钥的安全管理很重要,不要写进会被同步的配置文件里。

另外要说一下,Codex登录和API密钥两种方式在使用权益上是可能不同的:账号授权走的是订阅里的额度,API密钥走的是按量计费。如果你只是偶尔用一下,账号授权可能更划算;如果你打算高频使用并需要更精细的监控,API密钥会更方便,因为能在控制台里看到每次调用的消耗。

3.3 首次运行的初始化配置

OpenAI Codex首次运行时可能会询问一些偏好设置,比如是否开启自动执行模式、默认的代码审查严格程度等。这些设置会在配置文件中持久化保存。

配置文件通常在用户主目录下的.codex目录中。如果你后面想调整行为,可以直接编辑这个配置文件,或者删除它重新初始化。

有个小技巧:Codex支持在项目目录里放一个.codex配置文件来覆盖全局设置,这样你可以在不同的项目里配置不同的行为规则。比如在某个项目里禁止它自动修改配置文件,在另一个项目里允许它全自动执行。这个能力在用了几次之后会感觉到很实用。

3.4 验证Codex是否正常

同样打开一个项目目录,执行codex,输入类似:

帮我看一下这个项目的依赖有没有明显的安全漏洞

如果能正常给出分析和建议,说明安装已经完成。首次使用时如果提示需要初始化或登录,按照提示完成即可。

4. 安装过程中的高频报错与排查思路

这部分把我遇到过的、以及帮别人处理过的问题集中整理一下,都是真实环境里反复出现的。

4.1 EACCES权限错误

这是Linux上装npm全局包最常见的报错,本质是npm默认的全局安装目录没有当前用户的写权限。解决办法有两个方向,我推荐第二个。

方向一:用sudo装。简单粗暴,但后遗症很明显——用sudo安装的全局包的文件属主是root,后续这些工具要读取你的用户配置时,可能会遇到权限混乱的问题。

方向二:修改npm全局目录到用户目录下。

mkdir -p ~/.npm-global npm config set prefix ~/.npm-global

然后在你自己的shell配置文件中添加:

export PATH=~/.npm-global/bin:$PATH

重新加载配置后再执行npm install,权限问题就彻底解决了。

4.2 npm ERR! code EBADENGINE版本不匹配

看到这个报错,说明Node版本太旧。这种报错非常直白——你装的Node版本低于工具要求的最低版本。解决办法是先用nvm切换到高版本Node:

nvm install 20 nvm use 20

然后再重新执行npm install。这里特别提醒一下:切换Node版本之后,nvm会自动切换对应版本的npm,所以不需要单独处理npm。

4.3 安装卡住不动

这种情况大多是网络问题。npm默认源在国内的访问速度不稳定,换个镜像源可以解决大部分问题:

npm install -g @anthropic-ai/claude-code --registry=https://registry.npmmirror.com

或者一次性设置全局镜像源:

npm config set registry https://registry.npmmirror.com

反正我个人建议:如果网络环境访问npm官方源经常超时,直接换成镜像源,稳定性好很多。切换源不会影响包内容的正确性,npm有完整的哈希校验机制,不用担心下载到被篡改的文件。

4.4 claude或codex装完但在终端里找不到

明明npm install执行成功了,但输入claude或codex就提示command not found,这是PATH配置的问题。

先用npm bin -g查看全局bin目录在哪,然后确认这个目录是否在PATH中。如果不在,就按前面说的export方式添加进去。这里我想多说一句,npm的全局bin目录和Node版本绑定,如果你用了nvm并切换了Node版本,全局包的bin路径也会跟着变。每次切换Node版本后都需要重新检查PATH是否覆盖了当前版本对应的bin目录,不然就会出现“刚装完能用,切个版本就找不到命令”的情况。

4.5 登录鉴权总是不成功

登录问题可以分成三种情况:

第一种:链接打不开。浏览器无法访问授权页面,优先查网络状态和浏览器代理设置。

第二种:链接能打开但授权后终端无反应。常见原因是终端代理变量没设置,或者设置错误。在终端里执行一下env | grep -i proxy看看代理变量是否正常。

第三种:已经授权成功,但隔天再打开又要求重新登录。这种通常是token过期或者refresh token失效。没什么特别的技巧,重新授权一遍就行,不过我建议留意一下系统时间是否正确——系统时间偏差太大可能导致token校验失败,表现得像“明明配好了却一直鉴权失败”。

4.6 运行时报Python相关错误

这个问题很隐蔽,我在这两工具上都遇到过。表面上看错误信息是找不到Python模块或者Python版本不兼容,实际上是因为工具内部调用了系统Python来做文本处理或者依赖分析。

解决办法就是确认系统里装了Python 3,并且在PATH中可用:

python3 --version

如果系统里没有Python 3,用包管理器装一个:

# Debian/Ubuntu sudo apt install python3 # macOS brew install python

还有一点:如果系统里同时存在多个Python版本,工具可能会挑错一个。这时候你可以通过环境变量显式指定Python解释器路径,比如在shell配置里设置export PYTHON=/usr/bin/python3,这样可以告诉工具使用指定的Python版本。

5. 进阶使用技巧与日常体验优化

把工具装好只是开始,真正用得顺手还需要做一些配置和习惯上的调整。

5.1 为不同项目设置不同的模型偏好

Claude Code和Codex都支持模型选择。在Claude Code里,可以用/model命令切换不同模型;在Codex里,启动时可以加参数指定模型。日常开发中,简单任务用轻量模型响应速度更快,复杂重构任务才需要上更强的模型,这样能明显提升使用体验,也更能控制成本。

5.2 合理利用配置文件

Claude Code支持项目级配置,可以在项目根目录创建配置文件来管理工具行为。比如设定允许读取的文件范围、禁止自动执行的命令模式等。

Codex同样支持配置。我建议在开始正式使用之前,花几分钟看一下默认配置项都有什么,把一些敏感设置调整好,比如默认是否允许工具执行shell命令,这个默认值很影响使用安全。

5.3 终端工具和IDE并用的场景

有些操作在终端里做更方便,有些在IDE里看得更清楚。我常用的组合方式是:在IDE里编写代码,遇到问题直接切到终端里把报错信息丢给Codex或Claude Code分析,拿到修复建议后再回IDE里改。对有图形界面开发环境的人来说,这个流程比纯终端操作更直观,也比纯IDE插件更灵活——因为终端工具能访问完整的项目上下文,而不只是当前打开的文件。

5.4 保持工具版本更新

这两个工具迭代速度都很快,新版本往往会修复bug、增加模型支持、改进上下文管理。养成定期检查更新的习惯:

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

一个月左右更新一次,基本能保持体验在较好状态。如果你发现某个功能在文档里看到了但自己的工具里找不到,大概率是版本旧了,先更新再排查,不用急着找其他原因。

5.5 注意上下文窗口的使用边界

这两个工具都有上下文窗口限制,也就是单次对话里能塞进的信息量。项目一大,代码文件一多,很容易把对话填满。我个人的习惯是:每次只喂相关的文件或报错信息,而不是整个项目一股脑丢进去。通常在项目根目录启动工具,让它根据我的问题自行定位相关文件,这样比手动粘贴内容高效得多,也更不容易触达上下文上限。

6. 我的使用心得:Claude Code和Codex的实际差异

要说这两个工具在终端里哪个更好用,其实很难一概而论。从我的实际体感来说,它们各有所长,适合的使用场景也不完全重合。

Claude Code在长对话和复杂项目理解方面的表现更稳。它会维护一个比较完整的项目状态感知,适合处理那种需要前后文关联的多步任务,比如跨多个文件的重构、根据技术方案实施整个模块的开发。在对话中途改变需求方向,它也能根据之前的上下文重新规划路线。

Codex更偏轻量务实,启动速度快,适合快速问答和单点任务。比如你看一段代码看不懂,或者一个报错不知道什么意思,丢给它,很快就能得到答复。还有一种用法是把完整报错信息贴给它,让它给出排查建议,效率很高。

从我日常工作的真实分布来看,Claude Code更适合放在核心项目里,处理需要持续跟进的开发任务;Codex更适合放在手边,随时问问题、随时检查代码。两个工具装在同一个系统里完全不冲突,反正它们共用Node环境,我也没有遇到过互相干扰的情况。

还有一点要说的是资源占用。终端工具相比IDE插件的优势是占用小、启动快,但在大项目里长期挂着也会持续消耗内存。如果你发现机器变卡,可以先看看是不是终端里挂了一堆AI会话,适时退出不用的会话能明显减轻负担。

装好这两个工具之后,你的终端就从一个单纯的命令执行器,变成一个随时能对话的编程搭档了。有它们辅助,日常开发里的很多重复劳动都能被压缩掉。这套安装流程在Linux和macOS上我都实际跑过很多遍,按着步骤走一般都能顺利装好。如果过程中遇到问题,回头看排错部分,大部分坑都能对应上原因。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/10/13 7:58:08

微电网多阶段鲁棒优化调度:CCG算法与MATLAB完整复现

搞过微电网调度优化的朋友应该都有同感:确定性模型算出来的"最优方案"往往只存在于Excel和论文里,真到了实际运行那天,光伏被一片云遮了,风电整夜趴窝,负荷还往上蹿,计划彻底崩盘。这时候你才发现…

作者头像 李华
网站建设 2026/10/13 7:57:15

双脉冲测试平台搭建与功率半导体动态特性测量实战指南

1. 项目概述双脉冲测试是功率半导体器件动态特性测试的黄金标准,作为从业12年的电力电子工程师,我亲手搭建过7套不同规格的双脉冲测试平台。这个看似简单的测试系统,实际上暗藏玄机——从器件选型到PCB布局,从探头选择到死区时间设…

作者头像 李华
网站建设 2026/10/13 7:56:59

SAP系统超详细教程实战指南:从操作手册到自动化校验

简介:这份《SAP系统超详细教程.pdf》面向企业信息化从业者、ERP初学者及希望系统了解SAP R/3的读者,帮助梳理从生产计划、物料管理到财务会计、人力资源等核心模块的业务逻辑与集成关系。资源为单个PDF文档,压缩包约3.85MB,内容按…

作者头像 李华
网站建设 2026/10/13 7:56:53

AI逆向分析实战:浏览器自动化与大模型组合工作流

1. 先别急着信“通杀”,咱们聊聊真正能落地的AI逆向分析工具 最近在圈子里看到类似“最强魔改AI逆向神器”“通杀一切网站逆向”这样的标题刷屏,说实话我点进去过几次,里面九成是营销话术,真正能拿来做事的没几个。标题里那句“5秒…

作者头像 李华
网站建设 2026/10/13 7:56:20

大模型响应缓存实战:TTL缓存装饰器设计与落地

大模型应用跑起来之后,最先让人头疼的往往不是模型效果,而是账单。每次对话都要实打实调用一次大模型接口,按token计费,高峰期一秒几十个请求,链路一慢用户就开始抱怨。我最早做某知识库问答系统时,第一版上…

作者头像 李华
网站建设 2026/10/13 7:56:16

BASE理论详解:从CAP定理到柔性事务的分布式一致性实践

BASE 理论这几年在分布式系统圈子里被反复提起,但真正把它讲透、讲清楚“怎么用”的文章并不多。很多人一听到“最终一致性”就觉得是玄学,一提到“柔性事务”就只会背几个名词。我最早接触 BASE 理论是因为某个跨平台系统在支付链路里频繁出现数据不一致…

作者头像 李华