☰
Codex CLI安装配置全攻略:Windows/macOS/Linux与VSCode一次搞定
2026/10/4 13:30:53 网站建设 项目流程

如果你和我一样,每天有三分之一的时间泡在终端里,那2026年你大概率已经听说了Codex CLI这个名字。它是OpenAI官方的命令行AI编程助手:在终端敲一个codex,它就能读你仓库里的代码、按你的要求改文件、跑测试,再把diff摆在你面前等你确认。和网页版比起来,CLI最大的价值是能真正接触你本地的项目,而不是在一个聊天框里空对空。

这篇东西我拖了很久才写。网上教程要么只讲Windows,要么只讲Mac,很少有人把三大平台和VSCode串在一起讲。这篇文章就围绕Codex CLI安装配置这件事,把Windows、macOS、Linux、VSCode四条路一次走通。无论你是刚接触命令行的小白,还是已经在CI里跑自动化脚本的老手,按下面的步骤走,基本不会再被安装环节卡住。

1. 安装前的核心认知:先弄清楚自己需要哪个Codex

1.1 Codex CLI到底是什么,和网页版、桌面版有什么区别

很多人第一次接触Codex是通过浏览器里的网页聊天界面,后来OpenAI又出了桌面应用,再加上CLI,三样东西都叫Codex,但定位完全不一样。

网页版适合零散提问,比如“帮我看看这段SQL哪里有问题”“这个正则解释一下”。它不会碰你本地的文件,聊完就结束了。桌面版适合不爱碰命令行的人,界面更友好,能直接编辑文件,但自动化能力弱。CLI则是给开发者准备的“硬核模式”:它跑在终端里,直接以当前目录作为工作区,能调用git、读取文件、执行命令、修改代码。

我在实际使用中的理解是:CLI更像一个“住进你项目里的实习生”。你说需求,它先分析仓库结构,给出改动方案,每步操作前问你同不同意。网页版做不到这一点,因为它看不到你硬盘上的东西。

所以,如果你想把AI真正嵌入到日常开发流程里,CLI是绕不开的那一环。桌面版你可以有,但CLI才是脚本、CI、远程服务器场景下的唯一解。

1.2 安装前置条件:Node.js版本、Git、终端与账号

Codex CLI通过npm分发,所以第一个前提是装好Node.js和npm。我不只一次看到有人卡在报错上,最后发现Node版本是12、14这种老古董,根本跑不动。

建议直接上Node.js 20 LTS及以上,我实测22 LTS最稳。检查命令:

node -v npm -v

如果没有输出,或者版本太低,先去Node官网下载LTS版本安装。Windows用户直接跑安装包,macOS和Linux用户建议用nvm管理,后面会细说。

第二个强烈建议是Git。Codex CLI会把整个项目当成git仓库来看待,diff、撤销改动全靠git。Windows上装Git for Windows时,记得勾选“Add to PATH”,否则在PowerShell里找不到git命令。

第三个是终端。Windows上我推荐Windows Terminal加PowerShell 7,或者干脆用Git Bash;macOS用自带的Terminal或iTerm2都行;Linux直接系统终端。VSCode内置终端也算,后面第三节专门讲。

账号层面,你需要一个OpenAI账号,以及下面两种认证方式中的任意一种:ChatGPT账号登录,或者API Key。这两条路的区别我放到1.3讲。

1.3 认证方式:ChatGPT账号登录还是API Key

Codex CLI的认证有两种模式,很多人第一次就在这里被绕晕。

第一种是ChatGPT账号登录。首次运行codex,它会拉起浏览器,跳转到OpenAI的登录页面,授权后回调到本地地址,终端显示“登录成功”。这个方式对普通用户最友好,不需要管Key,但有个缺点:在无浏览器环境、远程服务器里会卡住,而且每次换机器都要重新登录。

第二种是API Key模式。打开OpenAI平台,进入API keys页面,创建一个Secret Key,然后在终端里设置成环境变量:

export OPENAI_API_KEY="sk-你的key"

设置好后直接运行codex,CLI检测到环境变量就会自动采用API Key模式,不再弹浏览器。这个方式适合服务器、CI、脚本场景。

我的建议是:本地日常开发用ChatGPT登录,省事;服务器和自动化环境用API Key,不会遇到“认证卡住”“设置未完成”这类问题。

安全提醒一句:API Key相当于你账号的钥匙,千万别写进代码仓库,也别截图发到群里。我见过有人把Key硬编码在配置文件里然后推到GitHub,几分钟就被盗刷了。环境变量是底线,更讲究的可以用密钥管理服务。

2. 三大平台安装实操:Windows / macOS / Linux

2.1 Windows:PowerShell、npm与两大高发报错

Windows是Codex CLI安装问题最多的平台,但不是因为Codex本身复杂,而是PowerShell和npm在Windows上有一些历史包袱。我先把标准流程过一遍,再把高频报错单独拎出来讲。

第一步,装好Node.js LTS和Git for Windows,检查node -v、npm -v、git --version三个命令都有输出。

第二步,按Win + X打开PowerShell,注意这里用普通用户身份,不要“以管理员身份运行”。运行全局安装命令:

npm install -g @openai/codex@latest

为什么强调不要管理员?因为npm在Windows上的全局目录是%APPDATA%\npm,普通用户本来就有写权限。一旦用管理员装了全局包,之后每次升级都要管理员,权限边界变得很混乱,还会在VSCode集成终端里遇到“权限不足”的诡异问题。

第三步,运行codex --version验证安装。如果能输出版本号,说明Core已经装好,接下来登录即可。

接下来是两个真正的“拦路虎”。

第一个是PowerShell执行策略报错。很多人在安装时看到的是这样一段话:

npm : 无法加载文件 ... 因为在此系统上禁止运行脚本

这是PowerShell默认执行策略Restricted导致的,它会拦截.ps1脚本。解决办法是在当前用户作用域下放宽策略:

Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope CurrentUser

执行后输入Y确认。之后重开PowerShell,npm命令就能正常跑了。如果你不想动执行策略,另一个办法是直接用cmd窗口来跑npm,cmd不检查执行策略。

第二个是平台二进制包缺失,报错长这样:

missing optional dependency @openai/codex-win32-x64. reinstall codex: npm i -g @openai/codex@latest

这个报错被问得最多,原因也比较隐蔽。Codex CLI在设计上用了npm的optionalDependencies机制,根据平台自动安装对应的二进制包:Windows装@openai/codex-win32-x64,macOS装darwin,Linux装linux。如果npm缓存坏了、网络中断,或者某个镜像源没有同步这个平台包,就会出现“主包装好了,但是平台包没装全”的状态。

解决办法是老几样:

  1. 清缓存:npm cache clean --force
  2. 卸载:npm uninstall -g @openai/codex
  3. 重装,并强制包含optional依赖:
npm install -g @openai/codex@latest --include=optional

如果你配置了npm镜像源,建议临时切回官方源再试一次。这不是什么玄学,只是镜像源同步可能滞后,造成平台包不全。

安装完成后,首次运行codex会进入登录流程。如果浏览器没自动弹出,或者弹出后一直转圈,运行codex login重新走一次认证。Windows上偶尔会遇到“Codex Windows设置未完成”的提示,绝大多数情况是OAuth回调没有写回终端。解决方法是把浏览器地址栏里的回调URL手动复制,粘贴到终端提示的位置,基本都能救回来。

2.2 macOS:Homebrew、nvm与权限边界

macOS上的安装比Windows顺畅,但也有几处需要提前绕开的坑。

装Node我推荐二选一:nvm或者Homebrew。用nvm的好处是版本切换灵活,也不会污染系统目录。如果你用Homebrew,一条命令搞定:

brew install node@22

装完检查node -v、npm -v。

macOS上最大的坑是权限。很多人图省事直接sudo npm install -g @openai/codex@latest,装是能装上,但后患无穷。因为macOS的系统Node目录是/usr/local或/opt/homebrew,普通用户没有写权限,sudo装完的全局包之后每次升级都要再sudo。更麻烦的是,一旦哪天用nvm切换了Node版本,全局包路径对不上,命令就找不到了。

所以我推荐的方式是:先用nvm装好Node,再执行:

npm install -g @openai/codex@latest

完全不需要sudo。

如果你用MacBook的Apple Silicon芯片,正常走这条流程装到的是arm64原生版本,性能最好。万一你发现codex在活动监视器里以x86_64模式运行,大概率是你的终端本身跑在Rosetta转译下,需要重新安装arm64版的Homebrew或nvm。

还有一个容易被忽略的点:macOS的隐私权限。首次运行codex时,系统可能会弹窗询问“是否允许终端访问文件”或“开发者工具权限”。一定要点允许,否则后面读项目文件时会很痛苦。如果之前手滑点了拒绝,去“系统设置 -> 隐私与安全性”里把权限重新打开就行。

如果你下载的是OpenAI官方桌面版Codex.app,第一次打开可能被Gatekeeper拦截。不要慌,右键点击应用,选择“打开”,系统会弹出确认对话框,再点一次“打开”就能用了。

2.3 Linux:无头服务器与SSH环境下的认证

Linux的安装逻辑和macOS类似,但有两个特殊场景要处理:系统自带Node版本太老,以及没有浏览器时怎么登录。

先看系统自带Node。Ubuntu/Debian的apt仓库里Node版本通常落后好几个大版本,直接apt install nodejs装出来的可能是16甚至12,跑不动Codex。老老实实用nvm:

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

装完nvm重开终端,执行:

nvm install 22 npm install -g @openai/codex@latest

如果你不想用nvm,也可以用NodeSource的二进制仓库,但nvm最省心。

然后是全局目录权限。如果非要装系统Node,会遇到EACCES权限错误。官方建议是配置npm全局目录到用户目录,我一般这么干:

npm config set prefix '~/.npm-global' echo 'export PATH=~/.npm-global/bin:$PATH' >> ~/.bashrc source ~/.bashrc

这样全局包都装在自己的home目录下,权限干净。

接下来是关键:无头服务器。很多人的Codex是装在VPS、开发机、CI Runner上的,这些环境没有浏览器,ChatGPT登录流程会卡在“等待浏览器回调”。解决方式就是API Key模式:

export OPENAI_API_KEY="sk-你的key" codex

CLI检测到OPENAI_API_KEY环境变量后,会跳过OAuth引导,直接用API Key完成认证。之后你想在任何新服务器上快速复用,把这一行export写进~/.bashrc或~/.zshrc,永久生效。

如果你是通过VSCode Remote-SSH连到远程服务器开发,Codex其实跑在远程机器上,文件也是远程的。本地VSCode窗口只是显示界面而已。所以远程机器能访问OpenAI API,就能正常用;如果发现调用超时,先检查远程服务器的网络出口,而不是折腾本地配置。

3. VSCode集成、Shell与编辑器玩法

3.1 VSCode官方扩展与CLI的关系

标题里说“VSCode一篇搞定”,这里展开讲。2026年,OpenAI官方Codex扩展已经比较成熟了,你直接在VSCode扩展市场搜索“Codex”,认准OpenAI官方发布者安装即可。

但要注意一个关系:官方扩展并不是一个独立工具,它复用的是你本地已经装好的Codex CLI。换句话说,扩展是“面条”,CLI才是“汤底”。你装了扩展但CLI没装、没登录,扩展面板打开后什么都干不了。所以第三节内容必须建立在前面的CLI安装完成之上。

安装扩展后,左侧边栏会出现Codex图标。打开面板,你可以直接对话、查看Codex生成的改动、审阅diff。实际体验下来,面板适合“可视化审阅改动”的场景;但如果你是纯键盘流,我反而推荐直接用集成终端跑CLI,两种方式各有取舍,不冲突。

3.2 在VSCode集成终端中使用Codex

VSCode内置终端本质上是操作系统终端的嵌入式版本,Windows默认走PowerShell。如果你在Windows上没解决执行策略问题,VSCode终端里跑codex也会报同样的“禁止运行脚本”错误。所以先回到2.1把执行策略设好,或者把默认终端Profile改成Git Bash,一劳永逸。

打开集成终端的快捷键是Ctrl+`,然后直接输入:

codex

进入交互模式后,你可以像聊天一样描述需求。Codex会给出它的执行计划,涉及修改文件、运行命令时,每一步都会停下来问你确认。我个人建议:第一次用某个项目时,先在测试仓库里跑,别直接在大型生产仓库上试,因为AI的“热情”可能超乎你想象。

VSCode终端里还有一个优势,是分屏。左边是Codex对话,右边是代码编辑器,你可以实时看它改了哪些文件。配合VSCode的源代码管理面板,改动一目了然,不满意就直接还原,比纯终端体验好很多。

如果你觉得每次输入codex麻烦,可以在配置里加一个别名。macOS/Linux的~/.bashrc或~/.zshrc里写:

alias cx='codex'

Windows PowerShell里可以在$PROFILE文件里加:

Set-Alias cx codex

之后输入cx就能进入,效率高不少。

3.3 配置文件与模型选择

Codex CLI的配置目录是~/.codex,主要的配置文件是config.toml。Windows上位于C:\Users\你的用户名\.codex\config.toml,macOS和Linux在~/.codex/config.toml。首次运行Codex后会自动生成,一般不需要手动创建。

这个配置文件是TOML格式,网站和很多工具都在用,语法很简单。我常用的配置项大概是这个样子:

model = "gpt-5-codex" approval_policy = "on-request" [history] enabled = true

解释一下这几个字段的作用。

model控制使用哪个模型。不同时期OpenAI会有不同的Codex优化模型,默认值通常是最适合编程的版本。我的建议是先用默认,不要盲目追新。真要切换模型,在这个字段改,然后保存重启codex即可。

approval_policy控制Codex执行操作时的确认策略。on-request表示每次修改文件、执行命令前都会问你。如果你非常信任当前项目,也可以设成更宽松的自动执行,但我不建议,特别是对有git历史的重要仓库。AI写得快,改得也快,出问题的时候连代码和错误信息一起给你,恢复成本全在被确认的每一次操作里。

[history]控制历史记录是否保存,写代码时保持开启,方便回溯之前的对话。

不同版本的Codex配置字段可能会有差异,最准确的做法是运行codex --help,或者在VSCode命令面板里找“Codex: Open Settings”,以实际版本输出为准。

4. 高频报错排查速查表:从Windows踩到Linux

这一节算是我这份教程里最值钱的干货。下面这些报错,我多多少少都在真实环境里见过,有些甚至是反复出现的经典问题。直接做成速查表,按现象查原因,按原因给解法。

4.1 Windows高频报错速查表

报错现象原因解决方式
npm : 无法加载文件 ... 因为在此系统上禁止运行脚本PowerShell执行策略为RestrictedSet-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope CurrentUser
missing optional dependency @openai/codex-win32-x64. reinstall codexnpm平台包没装全,缓存或镜像源问题清缓存、卸载、用--include=optional重装
codex : 无法将“codex”项识别为 cmdlet、函数、脚本文件或可运行程序的名称npm全局目录没加到PATH,或终端没重开重开终端;检查%APPDATA%\npm是否在PATH
首次运行提示“Codex Windows设置未完成”OAuth回调没有回到终端运行codex login重新认证,手动粘贴回调地址
engine unsupported或类似报错Node版本太低升级到Node 20 LTS以上,推荐22 LTS
npm install时频繁超时或下载中断网络到npm官方源不稳定配镜像源:npm config set registry https://registry.npmmirror.com,清缓存重装
本地回调端口被占用,报端口相关错误上一次运行的进程没退出`netstat -ano

这里再啰嗦一句,npm config set registry切镜像源是常规加速手段,装完遇到诡异的平台包问题时,如果镜像不全,记得先切回官方源再重装,两者来回切换能解决一大半“装不完整”的问题。

4.2 认证、模型与网络类问题速查表

codex login或首次运行时,浏览器没有自动弹出,点击无反应,这个情况在Windows和Linux服务器上都出现过。解法是把终端输出的授权链接手动复制到浏览器访问;授权后浏览器跳转到类似http://localhost:...的回调地址,如果页面打不开,把这段地址复制回终端回车,Codex会继续完成认证。核心思路是:不要等它自动,自己手动把两端的地址接上。

API Key模式下出现401 unauthorized,一般是Key不正确、过期,或者账号没有对应模型的访问权限。重新去OpenAI平台生成一个新Key,确认环境变量用的是新值,然后重开终端。

模型返回类似“model not available”的提示,大概率是当前账号对那个模型没有访问权限。去OpenAI平台查看账号的模型权限,如果确实没有,切换回默认模型。

还有一种容易被忽略的情况:明明设置过OPENAI_API_KEY,但Codex还是弹出登录界面。先确认环境变量是否真的生效:echo $OPENAI_API_KEY(Linux/macOS)或echo $env:OPENAI_API_KEY(PowerShell)。如果输出为空,说明变量设置没成功,或者终端打开时变量还没写入。

4.3 排查思路:先看日志,再动配置

遇到问题不要慌,先按三步走,能省很多时间。

第一步,确认装上没有:运行codex --version。如果版本号能出来,说明主程序没问题,问题多半出在认证或配置。如果命令都找不到,回到PATH和全局目录的排查。

第二步,确认认证通不通:运行codex exec "say hello",这是一个最简单的非交互请求。如果它能正常返回,说明认证、网络、模型链路都是通的;返回401或超时,就去查Key和网络。

第三步,确认工作区环境:codex exec "explain this repository",看它能不能正确读取项目结构。如果卡住或报权限错误,检查当前目录是不是git仓库、文件权限是不是只读、Windows下有没有被OneDrive或云同步软件锁住文件。

很多人在这一步栽跟头,是因为Codex默认按git仓库的边界来判定改动范围。你在一个没有git init的目录里跑,它要么拒绝执行,要么行为很怪异。进项目前先git init或git clone,是最基本的自觉。

5. 从会用到用好:几条实操习惯与配置建议

5.1 三平台通用的安装习惯

这篇教程走到这里,安装已经没有秘密了。最后聊几个能让你长期舒心的习惯。

第一个是用版本管理器装Node。Windows上可以用nvm-windows,macOS和Linux用nvm,装好之后Node版本随时切换,全局包不会因为系统升级而失效。用系统自带的Node,一旦哪天系统更新了版本,全局包目录就乱了,你都不知道自己装的codex去哪了。

第二个是永远用普通用户身份跑npm和codex。Windows别右键管理员,macOS别sudo,Linux别用root。全局npm包装在用户目录下,权限清晰,升级方便,还能避免很多“根目录污染”的问题。这个概念和家里钥匙一个道理:平时用自己那把,别拿总钥匙到处开,丢了更麻烦。

第三个是养成“先更新,再排查”的习惯。Codex迭代速度很快,你今天遇到的一个灵异报错,可能三天前的新版本就修了。遇到问题可以先执行:

npm update -g @openai/codex

然后再复现问题。我给过很多朋友的排查建议里,这一条经常直接终结战斗。

第四个是API Key不进项目目录。密钥放环境变量、放密钥管理工具都可以,就是不放进代码仓库。这个习惯能帮你避开99%的密钥泄露事故。

5.2 把Codex用进日常工作的几个建议

安装配置只是起点,真正决定体验的是你怎么用它。

我建议从“解释代码”开始。接手一个新项目,第一件事不是改需求,而是跑:

codex exec "explain the architecture of this repository and point out the entry point"

让它先复述对项目的理解。如果它讲的和你看到的代码一致,说明它真的读懂了项目,你才放心让它改。

第二步是让AI“给方案,你执行”。比如让它列出重构计划,或者写一份改动清单,然后你手动操作关键文件。这个阶段你会逐渐熟悉它的能力边界,知道什么场景靠谱、什么场景需要盯紧。

第三步才是让它直接改,但每次改动都要看diff。VSCode的源代码管理面板在这时最有用,一行一行看,确认没问题再保留。Codex不是不可信任,而是它“太配合了”,你说改A,它可能顺手把B也改了,审diff能及时发现这种越界行为。

最后一个小技巧:不要在工作目录里塞太多无关文件。Codex读取仓库结构时,如果项目里有几百兆的模型文件、node_modules、日志文件,它的分析速度和准确度都会受影响。把无关内容加进.gitignore,或者干脆在干净的小项目里试,体验会顺很多。

我对Codex CLI的体会是:安装环节的坑都是“纸老虎”,无非是Node版本、执行策略、平台包缺失这几个老问题,按速查表一个个对,十分钟内都能解决。真正的难点是怎么在和AI协作的过程里保持对代码的控制权——从一开始就养成看diff、分批操作、保持git历史干净的习惯,你就能把它当作一个靠谱的结对编程伙伴,而不是一个偶尔闯祸的自动补全。从看懂它的每一步改动开始,再让它放手干,你会比大多数人少踩很多坑。

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

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

立即咨询