env: node: No such file or directory — Codex 更新失败
Quick fix
从 Dock/Finder 启动 CC Switch 时 GUI PATH 缺少 Homebrew 目录,升级到 v3.18.0+ 已修复。
Symptom
Section titled “Symptom”env: node: No such file or directory
env: node: No such file or directory当 CC Switch 从 Finder/Dock 启动时,macOS GUI 进程继承的 PATH 仅为 /usr/bin:/bin:/usr/sbin:/sbin,不包含 /opt/homebrew/bin。Codex 和 npm 的入口脚本使用 #!/usr/bin/env node shebang,即使 CC Switch 用绝对路径调用 /opt/homebrew/bin/codex 或 /opt/homebrew/bin/npm,env 仍需通过 PATH 解析 node,而 GUI PATH 中没有 node,导致报错。该问题在 Homebrew 安装 Node + Codex 的 Apple Silicon macOS 上最为常见,nvm/fnm/mise 等版本管理器同理。v3.18.0 的修复方式:所有锚定 npm 调用(含 Codex 更新/修复路径)在执行前先 prefix PATH=<npm 的同级 bin 目录>:$PATH,确保 npm 和 shebang 解析到的 node 来自同一安装目录,不再依赖 GUI 进程的 PATH。
升级 CC Switch 到 v3.18.0 或更高版本,该版本在所有锚定 npm 调用前自动补齐 PATH。
# 无需手动修改配置文件,升级 cc-switch 即可如果暂时无法升级,可从已包含 /opt/homebrew/bin 的终端启动 CC Switch 作为临时绕过方案:在 Terminal 中执行 open -a "CC Switch" 或直接运行二进制。
# 临时绕过:从 Terminal 启动而非 Finder/Dock升级后在 Settings / About 中找到 Codex 本地工具卡片,重新点击更新/升级,确认不再报错。
# 无配置变更
Affected Versions
Section titled “Affected Versions”Source Issues
Section titled “Source Issues”本页汇总自 7 个真实 issue
- #4162[Bug] macOS tool update fails with `env: node: No such file or directory` when launched from Finder/Dock
- #4207[Bug] Windows 下将 npm 无后缀 codex shim 误判为默认入口
- #5684切换智能体环境导致项目对话消失
- #83wsl
- #4777Windows 环境下通过 npm 安装的 Codex 被错误识别为多处安装
- #6975CC Switch periodically wakes WSL2 when claudeConfigDir points to \\wsl.localhost, even when Claude Code is not in use
- #6708切换模型供应商以后显示 当前会话未提供可用的终端/文件操作工具
- 为什么我在终端里 codex --version 正常,但从 Dock 启动 CC Switch 更新就失败?
- macOS GUI 应用从 Finder/Dock 启动时继承的 PATH 不包含 /opt/homebrew/bin,而 codex/npm 的 shebang 脚本 #!/usr/bin/env node 依赖 PATH 来定位 node 运行时。终端是 login shell 会加载 shell rc 文件补齐 PATH,GUI 进程不会。
- 升级到 v3.18.0 后还需要手动设置 PATH 吗?
- 不需要。v3.18.0 在每次锚定 npm 调用前自动 prefix PATH=<npm 同级 bin 目录>:$PATH,npm 和 node 都从同一安装目录解析,与 GUI 进程 PATH 无关。
- Windows 上 Codex 也显示「无法运行」是同一个问题吗?
- 不是。Windows 上 npm 全局安装 Codex 会生成无后缀 POSIX shim(codex)、codex.cmd、codex.ps1 三个文件,CC Switch 旧版把无后缀 shim 误判为默认入口并标记不可用。这是另一个问题,已在 v3.16.5 修复,探测逻辑会优先识别 .cmd/.exe 兄弟文件。
这是一个非官方社区 wiki,与 cc-switch 作者及项目本身无隶属关系。内容整理自项目公开的 GitHub issues。本站不分发任何软件。