Skip to content

找不到命令与 PATH 问题 ​

终端显示 command not found 时,先确认失败发生在命令解析阶段。登录状态、模型参数和项目规则都还没有机会执行。另一种常见症状是终端里能用,IDE 或应用里找不到;这时需要比较启动进程实际继承的环境。

一个不改系统设置的复现 ​

下载 PATH 练习 v1.0.0,解压进入 path-lab/,先读 README,再运行:

sh
node run.mjs

需要 Node 22+ 和 /bin/sh。脚本在临时目录创建本方可执行程序 bin/codexcase-check,先让子进程 PATH 只有 /usr/bin:/bin,再把实验的 bin 目录放到开头。两个子进程执行相同内容:

sh
command -v codexcase-check
codexcase-check

本站在 macOS、Node v22.23.3 的 原始记录 中,第一次没有解析路径,调用报找不到命令,子进程退出 127;第二次先输出实验程序路径,再输出 codexcase-check 1.0.0,退出 0。练习脚本在确认两个预期后自身退出 0。

程序在两次检查之间没有被重新安装,变化只有子进程 PATH。这个对照将「程序不存在」与「当前进程找不到程序」分开了。实验不编辑 shell 启动文件、不改系统 PATH,也没有安装真实 Codex。

换成自己的命令时检查什么 ​

在报错的那个终端运行以下命令,保留真实输出。PATH 可能含私人目录,分享前替换用户名与项目名:

sh
command -v codex
codex --version
printf '%s\n' "$PATH"
观察接下来检查对应处理
command -v 无输出程序是否安装、安装工具报告的目录安装缺失程序,或修正当前进程 PATH
路径存在,版本却不是预期是否有多个安装位置、别名或包装脚本核对实际来源,修正解析顺序
绝对路径可运行,名字不可运行该目录是否在当前 PATH 中先对当前会话添加已确认目录并复测
终端成功,IDE 失败两者启动方式与可见环境是否相同修正实际客户端环境,重启后重查
有路径但报权限或解释器错误可执行权限、脚本首行、文件类型按准确错误处理,不能只加 PATH

先用明确的完整路径验证目标程序,再决定是否需要持久修改。路径中有空格时要正确引用;不要从不明报错直接复制一串全局修改命令。修改初始化文件前读清当前 shell 的加载规则,避免把同一路径重复追加到多个文件。安装命令请以 首次环境检查 链接的当前官方说明为准。

复测与系统边界 ​

复测必须回到最初失败的启动方式:同一个终端、IDE 或应用,检查解析路径、版本与原命令退出码。另一个新终端成功只能说明那个进程成功,不能替代原场景。

本方实测仅覆盖 macOS 的受控 POSIX shell。Windows 可从 PowerShell 的 Get-Command codex 开始,本站未实测 Windows;shell 初始化、包管理器目录和应用继承方式需按实际环境确认。POSIX 命令查找依据见 标准 command 说明,复核于 2026-10-18。

若命令已能启动而 MCP 仍失败,继续看 MCP 分阶段检查。报告中附解析路径与脱敏 PATH 的相关部分,使用 问题报告模板 记录条件。