一、错误
bash
# lk @ MacBook-Pro in ~/Documents/NLP_Develop/learning_common_lib on git:main o [22:08:18] C:1
$ npm uninstall -g @openai/codex
npm error code ENOTEMPTY
npm error syscall rename
npm error path /Users/lk/.nvm/versions/node/v24.1.0/lib/node_modules/@openai/codex
npm error dest /Users/lk/.nvm/versions/node/v24.1.0/lib/node_modules/@openai/.codex-RwogyOXR
npm error errno -66
npm error ENOTEMPTY: directory not empty, rename '/Users/lk/.nvm/versions/node/v24.1.0/lib/node_modules/@openai/codex' -> '/Users/lk/.nvm/versions/node/v24.1.0/lib/node_modules/@openai/.codex-RwogyOXR'
npm error A complete log of this run can be found in: /Users/lk/.npm/_logs/2026-03-28T14_08_50_860Z-debug-0.log
二、原因
由于某些原因(可能是文件残留、权限问题或 npm 进程冲突),npm 在尝试把 codex 文件夹重命名并删除时卡住了,导致常规的 npm uninstall 命令失效。既然标准卸载行不通,针对你在 NVM 环境下的具体路径,最彻底的方法就是手动清理。
三、彻底卸载
1. 强制删除 npm 的包文件夹和异常产生的临时文件(需按照自己的路径更改)
运行以下命令,直接删掉 node_modules 下的相关文件:
bash
rm -rf /Users/lk/.nvm/versions/node/v24.1.0/lib/node_modules/@openai/codex
rm -rf /Users/lk/.nvm/versions/node/v24.1.0/lib/node_modules/@openai/.codex-*
2. 删除全局的 codex 执行命令 (软链接)
npm 安装全局包时会在 bin 目录下生成一个命令链接,我们需要把它一并删掉:
bash
rm -f /Users/lk/.nvm/versions/node/v24.1.0/bin/codex
3. 清理 npm 缓存(防止后续安装出 Bug)
运行以下命令清空缓存,让 npm 恢复干净状态:
bash
npm cache clean --force
4. 清理用户目录下的残留配置(彻底卸载)
很多 CLI 工具会在根目录生成隐藏的配置文件,运行下面这行可以确保无残留:
bash
rm -rf ~/.codex
验证卸载是否成功:
执行完以上步骤后,你在终端再次输入:
bash
codex
如果终端提示 zsh: command not found: codex,就说明已经完全卸载干净了!
四、重装
bash
npm install -g @openai/codex@latest