Hub Codex CLI 完整教學

第 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 上的分發方式,一度從舊式的 formulabrew 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 --versionnpm --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 警告)

這一節是進階備案:當套件管理器都不能用(例如離線環境、公司鎖死安裝權限),你可以自己去官方儲存庫把檔案扛回來。新手如果上面三招有一招成功了,這節可以先跳過。

手動安裝就三步:

  1. GitHub Releases(最新版) 找到對應你平台的 .tar.gz下載。
  2. 解壓縮,把裡面的執行檔改名為 codex
  3. 把這個 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 工程師正式上工。

動手試試

  1. 照 2.2 節挑一招把 Codex CLI 裝起來(不用全做,挑最順的那招)。
  2. codex --version,確認看得到版本號。
  3. (進階)如果你是 Intel Mac,試著回想:為什麼這章叫你不要去手動下載二進位,而是走 npm / Homebrew / 腳本?
  4. (進階)跑一次 codex doctor,再跑一次 🍎/🐧 的 which -a codex(或 🪟 的 Get-Command codex -All),看看診斷報告長什麼樣、你的系統上到底有幾份 codex

時效提醒

Codex CLI 更新很快(數天一版),本章提到的旗標、指令與版本號門檻(例如 codex update 何時內建),最終都以你實機跑 codex --help 看到的為準。本章對照版本為 Codex CLI 0.140.0(2026-06-15)。