这个 EPERM: operation not permitted 错误是 Windows 系统的典型权限问题,说明 npm 在尝试更新 codex.exe 时,该文件被其他程序占用或锁定了。

🔍 问题根源

codex.exe 文件正在被某个进程使用,最常见的原因:

  • 您当前正在运行的终端或 VS Code 终端正在使用 Codex
  • Windows 安全软件(如 Defender)正在扫描该文件。
  • 文件资源管理器打开了 node_modules 文件夹,导致文件被锁定。

🛠️ 解决方案(按顺序尝试)

方案一:关闭所有使用 Codex 的进程(最有效)
  1. 关闭所有终端窗口(包括 VS Code 的终端)。
  2. Ctrl + Shift + Esc 打开任务管理器。
  3. “进程” 列表中,检查是否有 codex.exenode.exe(如果它们是由 Codex 启动的)正在运行。
  4. 选中这些进程,点击 “结束任务”
  5. 完成后,重新打开一个新的管理员终端,再次运行更新命令。
方案二:以管理员身份运行(绕过权限限制)
  1. 在开始菜单搜索 “命令提示符”“PowerShell”
  2. 右键点击,选择 “以管理员身份运行”
  3. 在管理员终端中执行:
npm install -g @openai/codex@latest
方案三:手动清理并重装(最彻底)

如果以上方法都无效,说明文件状态已混乱,建议完全卸载再重装:

步骤 1:强制卸载

# 以管理员身份运行
npm uninstall -g @openai/codex

步骤 2:手动删除残留文件(如果存在)

# 导航到全局 node_modules 目录
cd C:\Users\zs_lo\AppData\Roaming\npm\node_modules
# 删除 codex 相关文件夹
rmdir /s @openai

步骤 3:重新安装

npm install -g @openai/codex@latest
方案四:临时禁用安全软件(谨慎操作)

如果上述方法都不行,可以尝试暂时禁用 Windows Defender 实时保护或任何第三方杀毒软件,然后执行更新。完成后记得重新启用。

📋 快速排查清单

步骤 操作 说明
1 关闭所有终端窗口 释放文件锁
2 任务管理器结束 codex.exe 确保没有进程占用
3 以管理员身份运行终端 获得文件操作权限
4 重新执行更新命令 验证是否解决
5 如仍失败,执行卸载+重装 清理混乱状态

💡 为什么会出现这个错误?

当你执行 npm install -g @openai/codex@latest 时,npm 会:

  1. 下载新版本到临时目录 .codex-z7egopce
  2. 尝试**删除(unlink)**旧的 codex.exe 文件,替换为新版本。

但因为你之前正在使用 Codex(或者某个进程正在读取它),系统禁止了删除操作,导致更新失败。

这个 EPERM 错误在 Windows 上非常常见,通常通过关闭占用进程 + 管理员权限就能解决。

Logo

这里是“一人公司”的成长家园。我们提供从产品曝光、技术变现到法律财税的全栈内容,并连接云服务、办公空间等稀缺资源,助你专注创造,无忧运营。

更多推荐