第 2 章
安裝 Codex CLI
Codex CLI 是一個住在你終端機裡、會自己動手讀檔改檔的 AI 工程師,而「安裝」就是把這位工程師請進你電腦的第一步。
想像你要請一位很厲害的助手來家裡幫忙。第 0 章我們認識了這位助手是誰、會做什麼;第 1 章學會了打開「跟電腦對話的視窗」(終端機)。這一章,我們要做的就是把這位助手正式接進來——讓你的電腦從此聽得懂 codex 這個指令。
別怕!安裝其實只有一行指令的事。好消息是:Codex CLI 現在是用 Rust 寫的原生程式(你不用懂這是什麼,只要知道:它不一定需要先裝別的東西),所以入口有好幾個,你挑最順手的那條走就好。
這一章你會學到:
- 四種安裝法分別適合誰,怎麼選一條不踩雷的;
- 在 🍎 Mac、🐧 Linux、🪟 Windows 上逐字照打的安裝指令;
- 想完全手動、或在 CI(自動化管線)裡安裝時怎麼做;
- 裝完怎麼驗證成功、怎麼升級、怎麼移除,以及「明明裝了卻不動」該怎麼排除。
重要提醒
網路上有些舊教學把 Codex CLI 當成「一定要先裝 Node.js 才能用」的 npm 工具。這已經過時了。 Codex CLI 改寫成 Rust 原生程式後,有好幾條路完全不用碰 Node。下面會講清楚。
第一次碰終端機的話,先確認自己有可用的 ChatGPT/OpenAI 登入方式、網路與練習資料夾;Git 強烈建議先裝。這些共同前置與「什麼情況才需要 Node.js」可先看從零開始的共同清單,再回來選一條安裝法。
2.1 四種安裝法(哪個適合你)
你可以把這四種安裝法想像成買同一台工具的四個通路:有的去專賣店(Homebrew)、有的官網下單(官方腳本)、有的去綜合商城(npm)、有的乾脆自己去儲存庫扛貨(手動下載二進位)。買到的都是同一台 Codex CLI,差別只在過程順不順手。
先用一張表幫你選。新手只要看「新手建議」那欄即可:
| 安裝方式 | 適合誰 | 需要先裝 Node.js? | 新手建議 |
|---|---|---|---|
| 官方 install 腳本 | 🍎 Mac / 🐧 Linux / 🪟 Windows 都行,最省事 | 不用 | ✅ 最推薦 |
| Homebrew(cask) | 🍎 Mac 已經有用 Homebrew 的人 | 不用 | ✅ Mac 友善 |
| npm(全域安裝) | 本來就在用 Node.js 開發的人 | 要 | 一般新手不必特地為它裝 Node |
| 手動下載二進位 | 想完全掌控、或在無法上網裝套件的環境 | 不用 | ❌ 較進階,2.3 節再講 |
簡單一句話建議:
- 第一次安裝 → 先選自己系統對應的官方 standalone installer(2.2 節第一招),確認網址後再執行一行指令。
- Mac 而且已經在用 Homebrew → 用
brew install --cask codex。 - 你本來就是寫 JS / 用 npm 的人 → 用 npm 也行。
- 其他全部不適用、或想手動 → 看 2.3 節。
不想裝 Node 的好消息
官方腳本、Homebrew、手動二進位三條路都完全不需要 Node.js。只有走 npm 那條才需要。所以如果你電腦裡沒有 Node,別為了 Codex 特地去裝,直接走腳本或 Homebrew 最輕鬆。
兩個一定要記住的坑(裝錯就白忙)
- 走 Homebrew 一定要加
--cask:正確是brew install --cask codex,不是brew install codex。 - 走 npm 一定要加
@openai/前綴:正確是@openai/codex,不是 只打codex(沒前綴的codex是別人多年前的無關舊專案)。
這兩條下面每次出現都會再提醒你。
安裝前先 checklist:系統夠不夠格
招式選好了,正式動手前,花 10 秒對一下你的系統夠不夠格。這不是嚇唬人的門檻,只是讓你萬一裝完卡住時,能快速排除「根本是系統太舊」這個可能性:
| 項目 | 建議門檻 | 備註 |
|---|---|---|
| 🍎 macOS | 12(Monterey)以上 | 近幾年買的 Mac 幾乎都超過 |
| 🐧 Linux | Ubuntu 20.04+ / Debian 10+ 或同等級發行版 | 太舊的核心可能沒有較新的沙箱技術(2.3 節會提到),但不影響主程式能不能裝、能不能跑 |
| 🪟 Windows | Windows 11(或透過 WSL2) | 細節見稍後「原生 vs WSL2」 |
| 記憶體 | 最低 4GB,建議 8GB 以上 | Codex 本身不吃記憶體,但它會開你的專案、跑編譯、跑測試,這些才是吃記憶體的大戶 |
| Git | 2.23 以上 | 怎麼查版本第 1 章已經教過,這裡不重複 |
數字每個人講的不太一樣,別鑽牛角尖
這幾個門檻散落在官方不同頁面、也常被各種二手教學各自轉述,版本號偶爾對不上是正常的,不需要逐字背下來。真正實用的判斷方式很簡單:直接照 2.2 節的指令裝裝看,裝不動、跑不動,才回頭懷疑是不是系統太舊。上面這張表只是先讓你心裡有個底,免得裝到一半才發現自己用的是好幾年前的舊 Ubuntu。
2.2 逐平台逐字指令(含 CI 無人值守)
這一節給你可以直接複製貼上的指令。請對照你的作業系統,找到對應的 🍎 / 🐧 / 🪟 小標,照著打就好。每招都標好「適合誰」,你挑一招做完就算裝好了,不必每招都做。Windows 新手請先開「Windows Terminal → PowerShell」,不必用系統管理員身分;若你選 WSL,則在 Ubuntu 裡一路安裝與使用,不要回 PowerShell 再找同一份程式。
招式一:官方 install 腳本(最推薦)
這是官方主推、也最省事的一招。它會下載並執行安裝程式,因此只在網址完整等於 https://chatgpt.com/codex/… 時使用;不要把別人訊息、短網址或搜尋廣告改寫成這條指令,也不要在公司電腦繞過管理政策。
🍎 Mac:
curl -fsSL https://chatgpt.com/codex/install.sh | sh
🐧 Linux:
curl -fsSL https://chatgpt.com/codex/install.sh | sh
🪟 Windows(PowerShell):
powershell -ExecutionPolicy ByPass -c "irm https://chatgpt.com/codex/install.ps1 | iex"
Windows:看懂 ExecutionPolicy ByPass 再貼
上面是目前 OpenAI 官方 Codex CLI 文件列出的 Windows 安裝指令。ByPass 只套用在這次叫出的 PowerShell 子程序,不會永久修改你的系統執行原則;但它仍代表「允許官方下載的腳本執行」。因此只用原樣、只確認官方網域、不要把它改成萬用繞過辦法。公司政策擋下時不要自行改執行原則,找 IT/管理者確認。
裝完先關掉並重開同一種終端機,再檢查版本;Windows 是重新開 Windows Terminal 的 PowerShell,WSL 是重新開 Ubuntu。版本能印出來才進下一步,不要因為第一個舊視窗找不到指令就重複安裝。
codex --version
codex
好奇官方腳本把東西裝去哪了?
官方腳本預設會把你在終端機打 codex 時真正執行到的那個檔案,放在 ~/.local/bin;程式本體另外收在 ~/.codex/packages/standalone,~/.local/bin 裡的 codex 只是指向它的一個捷徑。想改裝到別的路徑,安裝前先設好環境變數 CODEX_INSTALL_DIR 再跑腳本即可;之後升級或移除也要沿用同一個路徑,不然腳本會找不到舊安裝,變成憑空多裝一份。
另外有個常見的小烏龍:如果腳本把 ~/.local/bin 加進你的 ~/.bashrc,這個改動要開一個新的終端機視窗、或手動重新載入設定檔(例如 source ~/.bashrc)才會生效。裝完馬上在同一個視窗打 codex 卻說找不到指令,十之八九是這個原因,不是裝失敗——這時候別急著重裝,先開個新視窗試試看。
招式二:Homebrew(只限 🍎 Mac)
如果你 Mac 上已經有 Homebrew(一個 Mac 上很常見的「軟體安裝管家」),先跑 brew --version 有結果,這招才最自然:
🍎 Mac:
brew install --cask codex
務必加 --cask
是 brew install --cask codex,不是 brew install codex。記不住的話想成:Codex 是「已經編好的整包程式」,所以走 Homebrew 的 cask(整包安裝)管道。
升級了卻感覺沒變?可能是舊 formula 卡住了
Codex 在 Homebrew 上的分發方式,一度從舊式的 formula(brew install codex,不加 --cask)換成現在的 cask。如果你的機器兩種都裝過,PATH 裡通常會是舊 formula 的執行檔排在前面——這時候 brew upgrade 明明升級了 cask 版本,終端機打開卻還在跑舊版本,讓人一頭霧水。遇到這種情形,把舊 formula 徹底清掉再重裝 cask 版就好:
brew uninstall codex --formula
brew install --cask codex
招式三:npm 全域安裝(需要 Node.js)
如果你本來就在用 Node.js(寫網頁、跑 npm 的人),這招對你最熟悉:
🍎 Mac / 🐧 Linux / 🪟 Windows 都一樣:
npm install -g @openai/codex
務必加 @openai/ 前綴
是 @openai/codex,不是 codex。如果某天升級提示叫你把 @openai/ 拿掉,不要照做,那會裝到別人的無關套件。
npm 是「你本來就有 Node.js」的路線,不是 Codex 的必經路。如果 node --version 顯示找不到指令,最簡單是回到上面的 standalone installer;真的因課程或既有專案必須用 npm,才從 Node.js 官方下載頁安裝目前 LTS,重開終端機後確認 node --version 與 npm --version,再回來安裝。不要因為想執行一條 npm install 就臨時混裝 Homebrew、nvm 與系統 Node。
已經在用 Homebrew 的 Mac 使用者,也可以用它安裝 Node,再裝 Codex:
🍎 Mac:
brew update
brew install node
npm install -g @openai/codex
關於 Node 版本,有個小重點放在這個提示框:
要裝就裝新一點的 Node
Codex 的 npm 套件官方標示需要 Node.js 16 以上(這是套件裡 engines 欄位的權威值)。不過為了避開零星相容性問題,保險起見裝目前的 Node LTS(長期支援版)會更穩。再強調一次:這只在你走 npm 這條路時才需要煩惱;走腳本或 Homebrew 完全免 Node。LTS 是建議值、不是硬性規定,確切需求以官方頁面為準。
npm 安裝踩雷排除:權限錯誤與 nvm 版本切換(選讀)
裝到一半跳出 EACCES 權限錯誤? 這是系統內建的 Node(不是用 nvm 裝的那種)常見的狀況——npm install -g 預設會想寫進 /usr/local/lib/node_modules,但一般使用者通常沒有那個資料夾的寫入權限。官方不建議用 sudo npm install -g 硬解(會製造出一堆屬於 root 的檔案,之後每次全域安裝都要 sudo,越補洞越大)。乾淨的解法是幫 npm 換一個你自己有權限的安裝路徑:
npm config set prefix '~/.npm-global'
這條路是 macOS/Linux 且你已決定長期用 npm 時的選讀,不是 Windows PowerShell 指令。先看共同清單的 PATH/設定檔安全原則:不要直接猜著改 ~/.bashrc 或 ~/.zshrc。對第一次安裝的人,優先回到本章的官方 standalone installer;只有你已確認自己的 shell、已備份設定檔,才依 Node 官方文件把 ~/.npm-global/bin 加進對應 shell 的 PATH,開新終端機後再重跑 npm install -g @openai/codex。長期用 Node 開發的人可考慮 nvm,但它是另一套版本管理工具,不能和 Windows 的 nvm-windows 混用。
用 nvm 的人還有另一種雷:nvm 底下每個 Node 版本的全域套件是各自獨立的,可以想成每個版本各有一個自己的抽屜。你在某個 Node 版本底下裝的 codex,如果哪天終端機的預設版本切到另一個版本,那個 codex 指令就可能找不到、或報奇怪的模組錯誤——並不是 Codex 本身壞了,是它被放在另一個版本的抽屜裡,nvm 換了抽屜自然找不到。同一台機器建議固定用一個 Node 版本裝這類 CLI 工具;如果你常常切 Node 版本測不同專案,改走本章開頭建議的官方腳本或 Homebrew更省事,那兩條路完全不綁定 Node 版本。
🪟 Windows 補充:原生 vs WSL2
Windows 使用者有兩條路,先用一張表看差別:
| 路線 | 怎麼跑 | 適合誰 | 備註 |
|---|---|---|---|
| 原生 Windows | 直接在 PowerShell 跑招式一 | 想留在 Windows 環境的人 | 需系統內有 winget;sandbox(安全圍欄)設定要系統管理員核可 |
| WSL2(Windows 裡的 Linux) | 在 WSL 終端機跑 Linux 指令 | 想要 Linux 原生體驗的人 | 可在 WSL 裡當成 Linux 環境裝;⚠️是否「官方優先建議」以官方頁面為準 |
如果走 WSL2,先在 Windows 開好 WSL,再進去當成 Linux 用:
🪟 Windows(先開 WSL):
wsl --install
wsl
接著在 WSL 終端機裡(這時等於 Linux 環境)照 🐧 Linux 那招裝:
curl -fsSL https://chatgpt.com/codex/install.sh | sh
codex
Windows 系統版本建議
官方以 Windows 11 為最佳基準;Windows 10(build 1809 或更新)屬於「盡力支援(best-effort)」。能用 Win11 就用 Win11。
Windows 的 sandbox 設定
原生 Windows 的安全圍欄寫在設定檔 config.toml 裡,長這樣:
[windows]
sandbox = "elevated" # 或 "unelevated"
官方偏好 "elevated"(隔離較嚴),"unelevated" 是備援。設定檔細節留到第 8 章再深入,你現在知道有這回事即可。
CI / 無人值守安裝(進階,自動化才需要)
如果你要在 CI(持續整合,自動化管線) 或任何沒有人坐在旁邊按確認的環境裝 Codex,腳本不能停下來等人回答。這時加上 CODEX_NON_INTERACTIVE=1 讓它非互動地跑完:
🍎 Mac / 🐧 Linux:
curl -fsSL https://chatgpt.com/codex/install.sh | CODEX_NON_INTERACTIVE=1 sh
新手可跳過這段
你只是要在自己電腦上用 Codex,用不到 CODEX_NON_INTERACTIVE。這是給寫自動化腳本的人用的。團隊協作與 CI 的完整玩法,留到第 11 章。
💡 高手小撇步:CI / cron 裡「釘版」防事件 schema 漂移(進階)
新手可整段跳過
這條只有當你把 Codex 排進 CI 或排程腳本、而且會去解析它輸出的事件(codex exec --json 吐出的那種一行一個 JSON 事件)時才需要在意。自己手動敲指令完全用不到。
前面 2.2 教的安裝指令(腳本、Homebrew、npm @latest)都會抓當下最新版。在自己電腦上這很好——隨時最新。但放進自動化管線就藏了一個高手才會踩的雷:
Codex CLI 更新非常頻繁(官方說「新版本會定期釋出」,社群觀察甚至常常數天一版),旗標、config 鍵、甚至 --json 吐出的事件欄位都還沒被官方凍結成穩定契約。 也就是說,你今天寫好一個會去讀 --json 事件的腳本,過幾天 Codex 自動升到新版後,事件格式可能變了,腳本就靜默壞掉。這種「格式變了害腳本爆掉」就是所謂的事件 schema 漂移。
為什麼自動化才需要在意
互動式自己用,版本變了你眼睛看得到、隨時能適應;但 CI / cron 是無人值守,腳本依賴固定格式,一漂移就整條管線無聲失敗。所以高手在自動化環境會刻意把版本「釘」在一個已驗證可用的號碼上,而不是每次抓 @latest。
做法一:npm 安裝時釘死版本號
在 CI 裡如果走 npm 安裝,把 @latest 換成指定版本號(格式是 @openai/codex@<版本>):
🍎 Mac / 🐧 Linux / 🪟 Windows:
npm install -g @openai/codex@0.140.0
版本號只是範例
上面的 0.140.0 是本書寫作當下的版本,你要釘的是「你實際測過、腳本能正常解析」的那一版,不是照抄這個號碼。最新版本號請去 GitHub Releases 或官方 Changelog 查。前綴一樣務必是 @openai/。
做法二:GitHub Action 用 codex-version 釘版
如果你用官方的 GitHub Action(openai/codex-action),它有一個專門的輸入欄位 codex-version,作用是「指定要安裝哪一版的 @openai/codex」。把它填上你驗證過的版本,這條 Action 就不會偷偷升級:
- uses: openai/codex-action@v1
with:
codex-version: "0.140.0" # 釘在驗證過的版本,不隨上游漂移
驗證過再往上釘
釘版不是「永遠不升」,而是「升級前先在測試分支跑過、確認事件格式與腳本相容,再把釘的號碼往上調」。這樣你既享受新版功能,又不會被無聲的格式變動偷襲。GitHub Action 的完整玩法(權限分離、autofix 等)留到第 11 章。
2.3 二進位手動安裝與檔名對照(Intel Mac 警告)
這一節是進階備案:當套件管理器都不能用(例如離線環境、公司鎖死安裝權限),你可以自己去官方儲存庫把檔案扛回來。新手如果上面三招有一招成功了,這節可以先跳過。
手動安裝就三步:
- 到 GitHub Releases(最新版) 找到對應你平台的
.tar.gz檔下載。 - 解壓縮,把裡面的執行檔改名為
codex。 - 把這個
codex放進系統的 PATH(系統會去找指令的那些資料夾),這樣在終端機打codex才找得到。
下面這張表是逐字檔名對照,務必照抄(打錯一個字就抓不到檔):
| 平台 | 該下載的檔名 |
|---|---|
| 🍎 macOS Apple Silicon(arm64,M 系列晶片) | codex-aarch64-apple-darwin.tar.gz |
| 🐧 Linux x86_64 | codex-x86_64-unknown-linux-musl.tar.gz |
| 🐧 Linux arm64 | codex-aarch64-unknown-linux-musl.tar.gz |
| 🪟 Windows x86_64 | codex-x86_64-pc-windows-msvc.exe.zip(或 .exe) |
| 🪟 Windows arm64 | codex-aarch64-pc-windows-msvc.exe.zip(或 .exe) |
Intel Mac 使用者必讀(很多教學寫錯這裡)
在目前版本,官方沒有提供 Intel Mac(x86_64)的 codex 主程式二進位——macOS 的手動二進位只有 Apple Silicon(M 系列)那一個。所以如果你是舊款 Intel Mac,不要去找 codex-x86_64-apple-darwin.tar.gz 這個檔,它不存在。 你改走前面 2.2 節的 npm、Homebrew 或官方腳本就好,那幾條路 Intel Mac 都能用。
別被相似檔名騙到
GitHub Releases 頁面上還有一堆名字很像、但不是 CLI 主程式的檔(例如 codex-app-server-... 是給 IDE/桌面 app 的後端、codex-sdk-npm-... 是 SDK 套件)。你只要認準 codex-<架構>-<系統>.tar.gz 這種「主二進位」格式,其他一律不是你要的。
🐧 Linux 小預告:先把 bubblewrap 裝好
Linux 上 Codex 的安全圍欄(sandbox)預設靠一個叫 bubblewrap(指令是 bwrap)的工具,你可能要先用系統的套件管理員把它裝起來,沙箱才會生效。Debian / Ubuntu / WSL2 可以先跑:
sudo apt-get update && sudo apt-get install -y bubblewrap
先把這個依賴裝好,能預先避開下面這種常見的啟動錯誤。完整的安全圍欄說明留到第 6 章,現在先知道「Linux 之後要裝 bubblewrap」這件事即可。
看到「command failed; retry without sandbox」別誤會成權限被拒
這則錯誤訊息容易讓人以為是自己權限不夠,但常見的真正原因有兩種:一是上面提到的還沒裝 bubblewrap;二是比較新的 Ubuntu(23.10 之後)預設把一個核心參數打開,擋掉了 bubblewrap 建立沙箱所需要的技術(unprivileged user namespace)。這其實是沙箱本身「建置失敗」,不是你的操作真的被拒絕——排除方向也因此不同:先確認 bubblewrap 有裝好,還是報同樣的錯,代表要另外處理這道核心層級的限制,細節與作法留到第 6 章安全篇一起講。
更進階:從原始碼自己編譯(開發者專用,一般讀者可跳過)
Codex CLI 是開源專案,如果你是想貢獻程式碼、或想跑一個官方 Release 還沒發布的最新開發版,可以直接從原始碼編譯。這條路需要先裝 Rust 工具鏈(rustup),跟前面幾招完全是不同量級的工程,一般使用者用不到:
git clone https://github.com/openai/codex.git
cd codex/codex-rs
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- -y
source "$HOME/.cargo/env"
rustup component add rustfmt clippy
cargo build
編譯完用這行測試跑不跑得動:
cargo run --bin codex -- "explain this codebase to me"
這是給想深入研究內部實作、或協助官方修 bug 的讀者走的路。純粹想「用」Codex CLI 的話,前面 2.2 節任何一招都遠比這條路輕鬆,不用特地折騰 Rust 編譯環境。
2.4 驗證、升級、解除安裝
裝完別急著用,先花 10 秒確認真的裝好了;順便學會之後怎麼更新、怎麼移除。
驗證:它真的裝好了嗎?
在終端機打這一行,看它有沒有吐出一個版本號:
codex --version
✅ 預期會看到: 一串版本號(例如 0.140.0 之類的數字),代表安裝成功、終端機認得 codex 了。
如果反而看到 codex: command not found(找不到指令)別慌,最常見原因是「安裝路徑沒被加進 PATH」,通常出現在 npm 全域安裝權限出狀況時。最省事的解法是改用 Homebrew 或官方腳本重裝一次,可以避開大多數 npm 權限坑。
--version 是業界通用慣例
幾乎每個命令列工具都吃 --version,Codex 也照這個慣例。不過官方文件沒有逐字保證這個旗標,真有疑問以實機 codex --help 為準。
codex --version 只能確認「有沒有裝起來」。如果你想再多做一步、確認整體環境(登入狀態、設定檔、常見相依套件)健不健康,官方另外提供一個更完整的健檢指令:
codex doctor
它會印出一份分區塊的診斷報告,之後不管遇到什麼疑難雜症,先跑這個幾乎是官方與社群公認的第一步。這個指令完整的旗標(摘要模式、機器可讀的輸出格式等)與詳細判讀方式,留到第 16 章疑難排解專章細講;這裡你只要記得「裝完之後,codex doctor 是你的第二道健檢」就夠了。
裝了但抓錯:多重安裝管道 PATH 打架
如果你曾經今天用 npm 裝過一次、改天又手滑用 Homebrew 裝一次,或是照著不同教學重複裝了兩三種方式——這是非常容易發生的事,尤其是遇到問題到處找解法、每篇教學招式都試一遍的時候。後果是:終端機打 codex 永遠只認 PATH 裡排最前面那一個,你以為升級成功了,其實只是升級了排在後面、根本沒人在用的那一份。
排查方式是把 PATH 上所有叫 codex 的執行檔全部列出來,而不是只看「終端機現在跑的是哪一個」:
🍎 Mac / 🐧 Linux(含 WSL2):
which -a codex
🪟 Windows(PowerShell):
Get-Command codex -All | Select-Object -Expand Source
如果這招印出不只一行路徑,代表你的系統上同時躺著好幾份 codex。最乾淨的解法不是想辦法調整 PATH 順序,而是整台機器只留一種安裝管道:挑一個順手的(通常官方腳本或 Homebrew 最省事),把其他管道全部用各自對應的解除安裝指令清掉(見稍後「解除安裝」),只留一份,之後升級才不會再打架。
升級完同一個視窗還是舊版?先清一下 shell 的路徑快取
bash 與 zsh 為了加快查找指令的速度,會把「上次找到 codex 在哪」的結果快取起來。升級後如果同一個終端機視窗沒有重開,就算檔案已經換成新版,終端機仍可能沿用快取路徑,讓你誤以為升級沒生效。開一個新視窗最保險;不想重開的話,bash 打 hash -r、zsh 打 rehash 清掉快取即可。
升級:讓它保持最新
比較新的 Codex CLI(官方說法是 v0.128 起)內建了一個統一的升級指令 codex update,它會自動偵測你當初是用哪個管道裝的(官方腳本 / npm / Homebrew),直接套用對應的升級方式,不用你自己去記:
codex update # 檢查並直接套用更新
codex update --check # 只檢查有沒有新版,不實際更新
codex update --force # 強制更新(版本檢查卡住時用)
本書對照版本 0.140.0 晚於這個門檻,一般情況下升級只要記 codex update 這一招就好。官方也提醒 Codex CLI 更新很頻繁,值得養成三不五時跑一次的習慣。如果你的版本比較舊、跑起來說沒有這個指令,或想針對特定安裝管道手動操作,下面這張對照表仍然管用:
| 你當初用的安裝法 | 升級指令 |
|---|---|
| 官方 install 腳本 | 重跑同一條安裝指令即可(官方明說「重跑就會拿到最新版」) |
| Homebrew | brew upgrade codex |
| npm | npm install -g @openai/codex@latest |
🍎 Mac / 🐧 Linux(用官方腳本裝的):
curl -fsSL https://chatgpt.com/codex/install.sh | sh
記不住裝法?
不確定當初怎麼裝的話,最保險就是重跑官方腳本那一條,它會幫你更新到最新版。其中 Homebrew 與 npm 的升級指令是套件管理器的通用慣例(官方頁面沒有逐字列出),如有疑問以官方文件為準。
解除安裝:把它請出去
不想用了,移除方式一樣看當初怎麼裝的:
| 你當初用的安裝法 | 移除指令 |
|---|---|
| npm | npm uninstall -g @openai/codex |
| Homebrew | brew uninstall --cask codex |
| 官方腳本 / 手動二進位 | 刪掉 PATH 裡那個 codex 執行檔;需要的話再刪設定資料夾 ~/.codex/ |
官方沒有提供逐字的「解除安裝」步驟
上面這些是各套件管理器的通用慣例。其中設定資料夾 ~/.codex/ 裡放著你的登入憑證等資料,只有確定不再用 Codex 時才刪它。憑證安全的細節見第 3 章。
真的要「砍掉重練」時,裡面到底放了什麼
~/.codex/ 這個資料夾除了登入憑證,還放著你的個人化設定、對話 session 紀錄、以及你另外安裝的 skills(自訂工作流,第 12 章會介紹)。一般的「解除安裝」只需要移掉執行檔本身,不需要連這個資料夾一起刪;只有在你想連設定、登入狀態、session 歷史都一起砍掉重練時,才需要多跑這一步:
rm -rf ~/.codex
跑完這行,之前的登入狀態、所有個人化設定都會一起消失,下次啟動要整套重新來過。動手前想清楚:這不是「解除安裝」的必要步驟,只是想徹底清空時的加碼選項。
安裝這件事講到這裡差不多了,最後補一個跟終端機無關、但很多人不知道的小知識:
順便一提:VS Code 也有 Codex 擴充套件
如果你平常用 VS Code(或 Cursor、Windsurf 這類 VS Code 的 fork),OpenAI 官方在 Marketplace 上發佈了一個 Codex 擴充套件,裝好、在側邊欄登入後就能用。它跟終端機的 codex 共用同一份設定檔與登入憑證(~/.codex/config.toml),你在其中一邊登入過,另一邊直接就能用,不用重新登入。這不影響你這章的安裝,純粹是個「原來還有這條路」的補充;完整的編輯器整合玩法,留到第 12 章再細講。
小結
走到這裡,你已經把 Codex CLI 請進電腦了:你知道四種安裝法各適合誰、會在自己的系統上逐字裝好、也學會了驗證 / 升級 / 移除。最關鍵的兩個防雷口訣別忘記——Homebrew 要 --cask、npm 要 @openai/ 前綴。
下一章我們就真正第一次啟動它、完成登入,讓這位 AI 工程師正式上工。
動手試試
- 照 2.2 節挑一招把 Codex CLI 裝起來(不用全做,挑最順的那招)。
- 跑
codex --version,確認看得到版本號。 - (進階)如果你是 Intel Mac,試著回想:為什麼這章叫你不要去手動下載二進位,而是走 npm / Homebrew / 腳本?
- (進階)跑一次
codex doctor,再跑一次 🍎/🐧 的which -a codex(或 🪟 的Get-Command codex -All),看看診斷報告長什麼樣、你的系統上到底有幾份codex。
時效提醒
Codex CLI 更新很快(數天一版),本章提到的旗標、指令與版本號門檻(例如 codex update 何時內建),最終都以你實機跑 codex --help 看到的為準。本章對照版本為 Codex CLI 0.140.0(2026-06-15)。