Установка Codex выглядит тривиальной, но за ней стоит несколько решений, которые позже влияют на обновления и воспроизводимость. Есть три основных способа: standalone-инсталлятор через официальный скрипт, глобальный пакет npm и Homebrew-cask на macOS. На Windows standalone ставят через PowerShell. Способ установки стоит выбрать осознанно с самого начала, потому что именно он определяет, как потом будет обновляться бинарник и где искать причину, если версия не меняется.
Ключевое различие способов - в модели обновления, и она привязана к способу установки. Есть команда codex update, которая обновляет Codex до последней версии, но её применимость зависит от того, как поставлен бинарник. Standalone обновляют повторным запуском инсталлятора или через codex update; npm - повторным глобальным install (npm install -g @openai/codex); Homebrew - командой brew upgrade --cask codex. Пакетные установки обычно обновляет их собственный менеджер, а не codex update, - и это частый источник путаницы.
Сразу после установки делают минимальную проверку, а не бросаются в задачу. command -v codex отвечает, откуда запускается бинарник; codex --version фиксирует конкретную версию; codex --help показывает актуальный набор команд и флагов. Эти три строки стоят того, чтобы выполнить их до первой работы: воспроизводимость начинается со знания, какая именно версия у вас исполняется, а не с предположения о ней.
Полезно один раз увидеть команды установки для всех платформ рядом. Ниже - standalone, npm и Homebrew для macOS и Linux, а также standalone для Windows. К этой карте возвращаются при заведении нового окружения: она показывает, где именно принимается решение о способе установки, от которого потом зависит вся логика обновлений. Для CI осознанно выбирают либо явную версию, либо заранее подготовленный образ, а не полагаются на "просто установить свежее".
Если версия после обновления не изменилась, первый шаг - не переустановка, а проверка причины. Чаще всего дело в PATH или в нескольких параллельных установках Codex: обновили одну, а запускается другая. command -v codex и codex --version быстро показывают, какой бинарник реально в игре. Слепая переустановка поверх этого только запутывает картину, тогда как одна проверка PATH обычно сразу называет виновника.
Удаление устроено намеренно раздельно, и это важно понимать заранее. Удаление бинарника - одно действие, а очистка пользовательского состояния - совсем другое. Каталог CODEX_HOME (по умолчанию ~/.codex) содержит config, auth, sessions, skills, logs и package metadata. Снести его как первый шаг диагностики - значит потерять авторизацию, историю сессий и настройки разом. Сначала убирают бинарник, а конфигурацию трогают отдельно и осознанно, с копией, если она может понадобиться.
У инсталляторов есть переменные для автоматизации, которые стоит знать. Standalone понимает CODEX_NON_INTERACTIVE - он отключает интерактивные подсказки при установке - и CODEX_INSTALL_DIR, который меняет место видимой команды. Важная тонкость: package cache всё равно привязан к CODEX_HOME, поэтому CODEX_INSTALL_DIR меняет только расположение исполняемого файла, а не всё состояние. В CI такие переменные позволяют поставить Codex детерминированно, без ручного подтверждения.
Типичные провалы установки предсказуемы. Ждать, что codex update обновит установку, которой владеет пакетный менеджер. Переустанавливать вслепую, не проверив PATH и параллельные установки. Снести ~/.codex как первый шаг и потерять auth и сессии. И положиться на "свежую версию" в CI вместо явной фиксации, получив разное поведение прогонов. Ставьте осознанно, версию проверяйте командой, а пользовательское состояние берегите отдельно от бинарника.
# macOS и Linux
curl -fsSL https://chatgpt.com/codex/install.sh | sh # standalone
npm install -g @openai/codex # npm
brew install --cask codex # Homebrew
# Windows (standalone)
powershell -ExecutionPolicy ByPass -c "irm https://chatgpt.com/codex/install.ps1 | iex"# Проверка после установки
command -v codex # откуда запускается
codex --version # какая версия
codex --help # актуальные команды и флаги
# CI: без интерактива
curl -fsSL https://chatgpt.com/codex/install.sh | CODEX_NON_INTERACTIVE=1 sh
# CODEX_HOME (по умолчанию ~/.codex) хранит config, auth, sessions, skills, logs