浏览 AI 知识库
macOS 安装 Codex:同时说明 Linux 的 Shell、目录和权限差异
macOS 和 Linux 上安装 Codex,常见卡点不是命令本身,而是 Shell、PATH、权限和安装位置没有对上。先看清当前环境,再决定该执行哪条命令。
按实际操作顺序推进
每完成一段就检查当前输出,确认结果符合预期后再继续。
同一条安装命令,换到另一个系统为什么就失效了
Mac 用户复制了一段 Windows 安装命令,终端提示找不到包;另一位 Linux 用户虽然安装成功,却把可执行文件装进当前 Shell 找不到的目录。
- 平台、架构、Shell 和版本已记录
- 安装来源为当前官方入口
- 重开终端后仍能验证版本
动手前,把材料和不能改的部分定下来
| 需要确认 | 本例内容 |
|---|---|
| 现有材料 | macOS 15、Apple Silicon、zsh;对照一台 Ubuntu 24.04、bash。需要先核对 Node/npm 与当前官方 Codex 安装说明。 |
| 不能越过的边界 | 命令和版本会变化,必须以执行时的官方文档为准;不使用来路不明的一键脚本,不把 API Key 写进 Shell 历史。 |
| 要交付的结果 | 可运行环境与平台核验记录 |
macOS 安装 Codex,从“记录平台和 Shell”开始做
记录平台和 Shell
运行系统、架构、Shell、Node.js、包管理器和 PATH 检查,保存实际输出;远程服务器还要确认是否有交互登录条件。
只选一种安装来源
优先使用官方当前推荐方式,避免系统 Node、nvm、Homebrew 或其他包同时管理同一命令。
确认命令解析位置
安装后检查可执行文件实际路径和版本,重新打开 Shell 验证 PATH 已加载,而不是只在当前窗口偶然可用。
限定工作目录与权限
从测试仓库启动,确认工具只在预期目录读写;涉及 sudo、钥匙串或系统目录时先停下理解原因。
完成可逆任务
保存 diff、测试和撤销结果,确认换一个新终端仍能复现。
同一台 Mac 上先确认 arm64、zsh、Node 来源和命令解析
教学场景:Apple Silicon Mac 已装 Homebrew 和 nvm,用户不确定当前 node 来自哪里。命令只读取环境,不执行安装。
zsh
保存环境基线
uname -srm echo $SHELL command -v node node --version npm --version npm config get prefix printf '%s\n' "$PATH" | tr ':' '\n'
示例输出
发现 node 来自 nvm,不再混用 brew 全局包
Darwin 25.6.0 arm64 /bin/zsh /Users/demo/.nvm/versions/node/v22.18.0/bin/node v22.18.0 10.9.3 /Users/demo/.nvm/versions/node/v22.18.0
系统版本、路径和版本号为教学示例。不要照抄用户目录,也不要在未理解原因时用 sudo 修权限。
当前窗口能运行,新窗口找不到命令,优先查启动文件和安装范围
| 现象 | 核对证据 | 本例结论 | 处理 |
|---|---|---|---|
| 安装后当前窗口可运行 | command -v 返回 nvm 目录 | 本次 Shell 已加载 nvm | 记录路径和版本 |
| 新终端 command not found | ~/.zshrc 未加载 nvm 初始化 | 不是工具安装包损坏 | 按 nvm 官方说明修初始化后重开终端 |
| sudo 后能运行 | root 的 PATH 与用户不同 | 安装到了错误作用域 | 撤销 root 全局安装,回到单一来源 |
| CI 仍找不到 | CI 使用非交互 Shell | 不能依赖个人启动文件 | 在 CI 明确安装运行时和工具版本 |
完成后的可运行环境与平台核验记录
环境记录包含 `uname -m`、`$SHELL`、`node --version`、`npm --version`、安装来源和可执行文件位置;安装后用 `command -v codex` 与 `codex --version` 验证。Linux 差异单列包目录、权限和非登录 Shell 的 PATH。
为什么“安装命令成功,重开终端却找不到 codex”还不能交付
安装命令成功,重开终端却找不到 codex
- 原因
- 全局包目录没有进入当前 Shell 的 PATH
- 怎么改
- 记录 npm prefix 和可执行文件路径,修改对应 Shell 配置后新开终端复测
