Ubuntu 中 Codex CLI 登录失败:使用 OpenAI API Key 解决

Ubuntu 中 Codex CLI 登录失败:使用 OpenAI API Key 解决

最近我在 Ubuntu 虚拟机中配置 OpenAI Codex CLI,希望后续可以直接在 Isaac Lab 项目中使用 Codex 修改和调试代码。

1. 安装 Codex CLI

首先安装 Node.js。Codex CLI 需要较新的 Node.js 版本,因此建议直接安装 Node 20:

bash 复制代码
curl -fsSL https://deb.nodesource.com/setup_20.x | sudo -E bash -
sudo apt install -y nodejs

检查 Node.js 和 npm 版本:

bash 复制代码
node --version
npm --version

我的版本为:

bash 复制代码
v20.20.2
10.8.2

随后使用 npm 安装 Codex CLI。由于网络环境原因,我使用了 npmmirror:

bash 复制代码
sudo npm install -g @openai/codex --registry=https://registry.npmmirror.com

安装完成后检查版本:

bash 复制代码
codex --version

如果输出类似下面内容,说明安装成功:

bash 复制代码
codex-cli 0.137.0

如果出现 codex 命令入口异常,可以查找实际安装位置:

bash 复制代码
npm root -g
sudo find /usr /usr/local -path "*@openai/codex*" -o -name "codex.js" 2>/dev/null

我的实际路径为:

text 复制代码
/usr/lib/node_modules/@openai/codex/bin/codex.js

因此可以手动建立软链接:

bash 复制代码
sudo chmod +x /usr/lib/node_modules/@openai/codex/bin/codex.js
sudo ln -sf /usr/lib/node_modules/@openai/codex/bin/codex.js /usr/local/bin/codex
hash -r

再次检查:

bash 复制代码
codex --version

成功输出:

bash 复制代码
codex-cli 0.137.0

如果系统中存在旧版 Node.js 导致安装冲突,可以先清理旧包,再重新安装 Node 20:

bash 复制代码
sudo apt remove -y nodejs npm libnode-dev
sudo apt autoremove -y
sudo apt --fix-broken install -y
curl -fsSL https://deb.nodesource.com/setup_20.x | sudo -E bash -
sudo apt install -y nodejs

2. 登录时遇到地区限制

Codex CLI 安装完成后,版本检查正常:

bash 复制代码
codex --version

输出:

bash 复制代码
codex-cli 0.137.0

但是第一次登录时遇到了问题。浏览器弹出的 Codex login 页面提示:

错误信息为:

text 复制代码
Sign-in could not be completed

Token exchange failed: token endpoint returned status 403 Forbidden:
Country, region, or territory not supported

Error code:
token_exchange_failed

也就是说,网页登录认证阶段的 token exchange 被拒绝,原因是当前网络出口所在的国家或地区不被支持。

一开始我尝试通过 VPN 和代理解决,但终端和浏览器的网络出口并不总是一致,所以网页登录仍然失败。后来发现 Codex CLI 支持直接使用 API Key 登录。

3. 使用 API Key 登录

查看登录帮助:

bash 复制代码
codex login --help

可以看到有一个参数:

bash 复制代码
--with-api-key

说明可以从标准输入读取 API Key:

text 复制代码
--with-api-key
Read the API key from stdin

于是我从 OpenAI 平台获取了自己的 API Key,然后在 Ubuntu 终端中执行:

bash 复制代码
export OPENAI_API_KEY="你的_API_KEY"
printenv OPENAI_API_KEY | codex login --with-api-key

注意:不要把 API Key 写进博客、截图或公开仓库。

登录完成后,检查状态:

bash 复制代码
codex login status

之后进入项目目录启动 Codex:

bash 复制代码
cd ~/test20260604/isaac_semicircle_linkage
codex

成功进入 Codex CLI 界面:

text 复制代码
OpenAI Codex (v0.137.0)
model: gpt-5.5
directory: ~/test20260604/isaac_semicircle_linkage

4. 总结

这次遇到的问题不是 Codex CLI 没装好,而是网页登录认证时的地区限制:

text 复制代码
403 Forbidden: Country, region, or territory not supported

最终解决办法是使用 API Key 登录:

bash 复制代码
export OPENAI_API_KEY="你的_API_KEY"
printenv OPENAI_API_KEY | codex login --with-api-key

之后就可以在 Ubuntu 项目目录中正常使用 Codex CLI 了。

相关推荐
枫叶丹44 小时前
AI Agent 说完成了,怎样验证任务真的完成
人工智能·chatgpt·开源·agent·codex
奔跑的大白啊12 小时前
多容器共享目录权限踩坑记
linux·ubuntu·共享目录·linux权限·docker 容器化部署
缘友一世1 天前
银河护卫队在steam(linux Proton GE-Proton10-34)上启动无窗口问题修复
linux·ubuntu·steam·proton
刘胡子大叔1 天前
repo 与 index:站点目录该怎么切
ubuntu·php
zhangrelay2 天前
用ROS2Lyrical实验报告册思路重做蓝桥云课ROS1实验并改进
linux·笔记·学习·ubuntu·机器人
xuhe22 天前
Codex解决新模型无法使用/model选择的问题
linux·ai·codex
Rosanci2 天前
Codex 下载与本地部署实战:从安装到运行全流程指南
开发语言·前端·算法·chatgpt·codex
小小龙学IT2 天前
ROS2 安装完全指南(Ubuntu 版):从零开始到跑通第一个节点本文
linux·运维·ubuntu
MicrosoftCloud3 天前
用户权限 04|/etc/sudoers 安全配置:从最小授权到「别把 ALL 随便给人」
运维·安全·ubuntu·sudo·sudoers
枫叶丹43 天前
从一次推理请求出发:模型、显存、网络与服务系统如何共同决定性能
网络·人工智能·chatgpt·开源·agent·codex