Linux 系统下安装 Node.js 与 Codex 疑难问题排查指南
本文档旨在记录和总结在 Linux (Ubuntu/Debian-based) 系统上安装 @openai/codex 过程中,因 Node.js 版本和网络环境问题所引发的一系列故障及其最终解决方案。
最终目标
在系统中安装并配置 @openai/codex 命令行工具。
遇到的问题与解决流程
整个过程可以分为四个主要阶段,每个阶段都遇到了一个关键问题。
阶段一:直接安装 Codex 失败
- 问题分析: 错误日志明确指出,
@openai/codex包要求 Node.js 版本 大于或等于 20,而系统当前的 Node.js 版本为v12.22.9,版本过低,导致安装脚本中的新语法无法被识别。 - 解决方案: 必须升级系统中的 Node.js 版本。在 Linux 上,管理和切换 Node.js 版本的最佳工具是 NVM (Node Version Manager)。
遇到的问题: 安装报错,关键错误信息如下:
npm WARN EBADENGINE Unsupported engine { package: '@openai/[email protected]', required: { node: '>=20' }, current: { node: 'v12.22.9', npm: '8.5.1' } }
SyntaxError: Unexpected token '.'
初始操作:
sudo npm install -g @openai/codex
阶段二:安装 NVM 失败
最终解决方案 2 (手动下载压缩包安装): 这是最稳妥、最不容易受网络波动影响的方法。
# 1. 清理可能存在的失败残留
rm -rf ~/.nvm
# 2. 创建目录,直接下载源码压缩包并解压到指定位置
mkdir -p ~/.nvm && curl -L https://gitee.com/mirrors/nvm-sh/repository/archive/v0.39.7.tar.gz | tar -xz -C ~/.nvm --strip-components=1
# 3. 手动将 nvm 的环境变量配置写入 ~/.bashrc
cat <<'EOF' >> ~/.bashrc
export NVM_DIR="$HOME/.nvm"
[ -s "$NVM_DIR/nvm.sh" ] && . "$NVM_DIR/nvm.sh"
[ -s "$NVM_DIR/bash_completion" ] && .
EOF
~/.bashrc
-v nvm

