最近看着 Codex 在 ChatGPT 生态中的应用越来越方便,想着以后万一突然想做点小工具或者折腾点项目可以直接拿起来使用,于是提前搭一个环境。
这篇文章为安装完成后整理的记录。由于已经安装完成,懒得重新安装截图,所以主要通过文字回忆记录整个过程。
1. 更新Windows 10版本至22H2
ChatGPT/Codex 客户端对 Windows 版本存在要求,目前博主正在使用的系统环境无法满足,因此考虑使用 WSL2 运行 Codex CLI。
WSL2支持Windows 10 22H2,在Win+R后输入winver查询,发现本机的版本还没有升级到22H2。使用Windows Update 下载并安装了多个更新,下载重启数次后查询发现依然是原版本。自带的升级功能似乎只能进行当前版本的“累积更新”,无法进行新版本的“功能更新”。
自动升级无法达成目的,放弃Windows Update,改用微软官方的媒体创建工具。在 https://www.microsoft.com/software-download/windows10 选择下载创建 Windows 10 安装媒体,选择为另一台电脑创建安装介质,保存Windows.iso。
双击Windows.iso,Windows会自动挂载DVD驱动器。双击setup.exe开始安装。第一页选项保持默认,直接选择下一步,在保留内容项选择保留个人文件和应用,保留原系统的内容(安装之前可以将重要文件先备份),点击安装。升级期间保持电脑的电源,自动重启数次后更新结束,查询版本,显示为Version 22H2说明版本升级成功。
2. 安装WSL2及配置网络代理
确认系统版本升级至 Windows 10 22H2 后,开始安装 WSL2。以管理员身份打开 PowerShell,执行 wsl --install,等待安装完成后重启系统。重启后,系统会自动完成 Ubuntu 的初始化,并提示创建 Linux 用户,成功进入WSL环境。
进行进一步设置前先确认WSL版本。在PowerShell界面输入wsl -l -v,应该看到如下显示,版本为2。
NAME STATE VERSION
* Ubuntu Running 2
为了避免后续出现连接失败或下载缓慢的问题,先配置WSL网路代理。在WSL界面敲cat /etc/resolv.conf,会出现nameserver 172.xx.xxx.1,这个地址通常对应 Windows 本机在 WSL 虚拟网络中的地址,可用于访问 Windows 上运行的代理服务。代理工具上开启Allow LAN功能,确认代理监听地址允许来自 WSL 的访问。查看代理端口,以下用代理端口 7890 为例,根据实际代理软件配置修改。
临时添加代理,在WSL中输入
export http_proxy=http://172.xx.xxx.1:7890
export https_proxy=http://172.xx.xxx.1:7890
测试代理
curl -v http://172.xx.xxx.1:7890
出现如下内容时说明WSL可以连接代理
Connection #0 to host 172.xx.xxx.1:7890 left intact
确认配置成功后为了让代理配置永久生效,编辑
nano ~/.bashrc
在最末尾加入
export WSL_HOST=$(awk '/nameserver/ {print $2}' /etc/resolv.conf)
export http_proxy=http://$WSL_HOST:7890
export https_proxy=http://$WSL_HOST:7890
export HTTP_PROXY=$http_proxy
export HTTPS_PROXY=$https_proxy
export ALL_PROXY=$http_proxy
保存后使更新生效
source ~/.bashrc
检查代理是否添加成功,显示代理环境变量就能继续下一步了。
env | grep -i proxy
3. 准备Codex运行环境
绕过git clone,排除可能出现的网络波动,直接下载nvm
wget https://github.com/nvm-sh/nvm/archive/refs/tags/v0.40.3.tar.gz
下载完成后解压
mkdir ~/.nvm
tar -xzf v0.40.3.tar.gz -C ~/.nvm --strip-components=1
手动加载nvm环境,编辑nano ~/.bashrc
nano ~/.bashrc
在文件最后添加
export NVM_DIR="$HOME/.nvm"
[ -s "$NVM_DIR/nvm.sh" ] && . "$NVM_DIR/nvm.sh"
[ -s "$NVM_DIR/bash_completion" ] && . "$NVM_DIR/bash_completion"
保存后使更新生效
source ~/.bashrc
通过nvm安装 Node.js
nvm install --lts
确认安装成功
node -v
npm -v
4. 启动Codex
整理好环境后可以在WSL里开始安装Codex了
npm install -g @openai/codex
读完条显示added packages说明安装完成,测试
codex --version
在WSL2中创建项目文件夹
mkdir -p ~/projects
cd ~/projects
切换到项目文件夹后启动Codex
codex
第一次运行时需要根据提示复制链接到浏览器,根据提示授权登录OpenAI,完成授权。出现如下内容说明可以开始使用了
OpenAI Codex
model: gpt-...
directory: ~
5. 联动VS Code
Codex CLI 已经可以在 WSL2 环境中运行,但直接在 Linux 终端中编辑文件并不方便,因此选择使用 Windows 端的 VS Code 连接 WSL 环境进行开发。安装完毕VS code后手动添加扩展WSL插件。
添加完成后点击左下角选择Ubuntu,或者Ctrl + Shift + P,输入WSL: Connect to WSL后选择Ubuntu。当左下角出现WSL: Ubuntu时说明VS Code已经连接上WSL内的Linux环境,VS Code可以访问Linux系统所在的文件夹。
6. 完成并调试
一切搞定后在Codex界面尝试创建文件,输入一个简单任务,例如创建测试文件 hello.txt。
在 VS Code 中确认文件已经生成,说明 Codex CLI 已经能够正确访问当前 WSL 工作目录,整个开发环境配置完成可以进行下一步的操作了。由于博主使用的是免费版,定期额度有限,更适合在日常拿来写点小东西玩玩。
ฅ(Slack有话要喵)ฅ
速速给本喵做一个自动生成小鱼干的饭盆喵~
COMMENTS | NOTHING