
这里写自定义目录标题报错问题的根本原因下载并安装 nvm (以 v0.40.1 为例)让环境变量立即生效 (如果你用的是 zsh请将 bashrc 换成 zshrc)安装 Node 20切换到 Node 20将 Node 20 设置为 WSL 默认的 Node 版本每次打开终端自动使用下载并安装 nvm (以 v0.40.1 为例)让环境变量立即生效 (如果你用的是 zsh请将 bashrc 换成 zshrc)报错codexfile:///mnt/d/PFiles/nvm/v22.22.2/node_modules/openai/codex/bin/codex.js:107throw new Error(^Error: Missing optional dependency openai/codex-linux-x64. Reinstall Codex: npm install -g openai/codexlatestat findCodexExecutable (file:///mnt/d/PFiles/nvm/v22.22.2/node_modules/openai/codex/bin/codex.js:107:9)at file:///mnt/d/PFiles/nvm/v22.22.2/node_modules/openai/codex/bin/codex.js:112:20at ModuleJob.run (node:internal/modules/esm/module_job:325:25)at async ModuleLoader.import (node:internal/modules/esm/loader:606:24)at async asyncRunEntryPointWithESMLoader (node:internal/modules/run_main:117:5)问题的根本原因WSL (Windows Subsystem for Linux) 有一个特性默认会将 Windows 的系统环境变量PATH追加到 Linux 的 PATH 中。因为你在 WSL 中没有配置自己的 Node.js或者 WSL 的 Node 路径优先级不够高导致你在 WSL 终端输入 codex 时WSL 跨系统调用了你 D盘 Windows 版的 Node 和 npm 全局包。Windows 版的 npm 安装时只会下载 Windows 的二进制依赖windows-x64但当这个脚本在 WSL 环境执行时它检测到当前系统环境是 Linux于是去寻找 Linux 的依赖包linux-x64自然找不到从而报错。要彻底解决这个问题需要在 WSL 内部安装一个独立的 Linux 版 Node 环境并确保 WSL 优先使用它。下载并安装 nvm (以 v0.40.1 为例)curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.40.1/install.sh | bash让环境变量立即生效 (如果你用的是 zsh请将 bashrc 换成 zshrc)source ~/.bashrc安装 Node 20nvm install 20切换到 Node 20nvm use 20将 Node 20 设置为 WSL 默认的 Node 版本每次打开终端自动使用nvm alias default 20下载并安装 nvm (以 v0.40.1 为例)curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.40.1/install.sh | bash让环境变量立即生效 (如果你用的是 zsh请将 bashrc 换成 zshrc)source ~/.bashrc