Codex на Windows: типичные проблемы и решения — PowerShell, WSL2, PATH и прокси
Работая с Codex на Windows, разработчики регулярно натыкаются на одни и те же проблемы: блокировки из-за политики выполнения PowerShell, сложную настройку WSL2, PATH, который «не подхватывается», и запутанную конфигурацию прокси. В этом руководстве разобрана каждая типичная ловушка — с проверенными решениями и практическими примерами команд.
Самые частые проблемы Codex на Windows
По отзывам сообщества, на Windows чаще всего встречаются такие проблемы:
- Блокировка политикой выполнения PowerShell: Windows по умолчанию запрещает выполнение скриптов, из-за чего установка Codex завершается ошибкой
- Команда не найдена: после установки терминал не находит команду
codex - Сложность настройки WSL2: для Codex в WSL2 нужна дополнительная настройка сети и инструментов
- Ошибки в настройке прокси: прокси в Windows и в WSL2 работают независимо друг от друга
- Совместимость версий Node.js: другой менеджер версий (nvm-windows вместо nvm на Linux)
- Пробелы в путях: китайские иероглифы или пробелы в путях к профилю пользователя или каталогам Windows вызывают ошибки установки
Быстрая настройка на Windows с TeamoRouter
Проще всего использовать на Windows TeamoRouter. Не нужно возиться с прокси для OpenAI API — достаточно напрямую задать baseUrl.
Настройка TeamoRouter на Windows:
# Set environment variables in PowerShell
$env:CODEX_BASE_URL="https://api.teamorouter.com/v1"
$env:CODEX_API_KEY="your-teamorouter-key"
# Set as system environment variables (persistent)
[System.Environment]::SetEnvironmentVariable('CODEX_BASE_URL', 'https://api.teamorouter.com/v1', [System.EnvironmentVariableTarget]::User)
[System.Environment]::SetEnvironmentVariable('CODEX_API_KEY', 'your-teamorouter-key', [System.EnvironmentVariableTarget]::User)
Поддерживает ли Windows работу с Codex?
Безусловно. Codex официально поддерживает Windows, macOS и Linux. На Windows с ним можно работать через:
- PowerShell: нативный терминал Windows, полная поддержка команд Codex
- CMD: классическая командная строка, всё работает в полном объёме
- WSL2: подсистема Linux — почти как нативный Linux
- Git Bash: лёгкий терминал, который идёт в комплекте с Git for Windows
Установка Codex в PowerShell
Установите Node.js (если ещё не установлен):
# Install Node.js via winget
winget install OpenJS.NodeJS.LTS
# Verify installation
node --version
npm --version
Установите Codex:
# Install Codex globally
npm install -g @openai/codex
Задайте политику выполнения (если возникают ошибки прав доступа):
# Check current execution policy
Get-ExecutionPolicy
# Set to RemoteSigned (allows local scripts, remote scripts need signature)
Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope CurrentUser
Установка Codex в WSL2
WSL2 — одна из лучших сред для запуска Codex на Windows.
Установите WSL2:
# Run PowerShell as Administrator
# Install WSL
wsl --install
# Set WSL2 as default
wsl --set-default-version 2
# List installed Linux distributions
wsl -l -v
Установите Codex в WSL2:
# Update package manager
sudo apt update && sudo apt upgrade -y
# Install Node.js (using NodeSource)
curl -fsSL https://deb.nodesource.com/setup_22.x | sudo -E bash -
sudo apt install -y nodejs
# Verify
node --version
npm --version
# Install Codex globally
npm install -g @openai/codex
# Verify installation
codex --version
Проблемы с PATH
Команда codex не найдена в PowerShell:
# Check npm global install path
npm config get prefix
# Usually at C:\Users\<username>\AppData\Roaming\npm
# Manually add to PATH (persistent in PowerShell)
[Environment]::SetEnvironmentVariable(
"Path",
[Environment]::GetEnvironmentVariable("Path", "User") + ";C:\Users\$env:USERNAME\AppData\Roaming\npm",
"User"
)
# Apply immediately (current session)
$env:Path = [Environment]::GetEnvironmentVariable("Path", "User")
Команда codex не найдена в WSL2:
# Check npm global bin path
npm bin -g
# Usually in /usr/local/bin or /home/<user>/.npm-global/bin
# Add to PATH (~/.bashrc)
export PATH=$PATH:/home/$(whoami)/.npm-global/bin
source ~/.bashrc
Проблемы с политикой выполнения PowerShell
Политика выполнения PowerShell — специфичный для Windows механизм безопасности, который может блокировать скрипты, связанные с Codex.
Типичная ошибка:
Cannot load file codex.ps1 because running scripts is disabled on this system.
Решения:
# Method 1: Change execution policy (recommended)
Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope CurrentUser
# Method 2: Bypass for a single script (not recommended)
powershell -ExecutionPolicy Bypass -File "codex.ps1"
Уровни политики выполнения:
Restricted: по умолчанию, запрещает выполнение любых скриптовRemoteSigned: локальные скрипты выполняются, удалённым нужна подпись (рекомендуется)AllSigned: все скрипты должны быть подписаныUnrestricted: выполняются любые скрипты (не рекомендуется)
Различия в настройке прокси между Windows и WSL2
Конфигурации прокси в Windows и WSL2 полностью независимы — это один из самых частых источников путаницы.
Системный прокси Windows:
# Temporary PowerShell proxy
$env:HTTP_PROXY="http://127.0.0.1:7890"
$env:HTTPS_PROXY="http://127.0.0.1:7890"
# System-level proxy (Control Panel → Internet Options → Connections → LAN Settings)
Настройка прокси в WSL2 (переменные прокси Windows туда не передаются):
# Get Windows host IP
export host_ip=$(cat /etc/resolv.conf | grep nameserver | awk '{print $2}')
# Set proxy to host machine
export HTTP_PROXY=http://$host_ip:7890
export HTTPS_PROXY=http://$host_ip:7890
Ключевое отличие: прокси в Windows использует
127.0.0.1, а в WSL2 нужно указывать IP хост-машины (в WSL2 адрес127.0.0.1указывает на сам WSL2, а не на хост Windows).
Проблемы с окружением Node.js / Git
Управление версиями Node.js на Windows:
На Windows используется nvm-windows, который отличается от nvm на Linux/macOS.
# Install nvm-windows via winget
winget install nvm-windows
# Install a specific version
nvm install 22.0.0
# Use a specific version
nvm use 22.0.0
# List installed versions
nvm list
Настройка Git for Windows:
# Install Git
winget install Git.Git
# Configure proxy (same as Linux)
git config --global http.proxy http://127.0.0.1:7890
git config --global https.proxy http://127.0.0.1:7890
Типичные проблемы совместимости Node.js:
# Node.js version too old for Codex compatibility
# Upgrade to LTS version
nvm install 22.0.0
nvm use 22.0.0
# npm cache issues
npm cache clean --force
npm install -g @openai/codex
С чего начать
- Зарегистрируйтесь в TeamoRouter и получите API-ключ
- Настройте baseUrl и API-ключ по инструкции по установке Codex
- Запустите первую задачу в Codex
Стабильный доступ к Codex, Claude Code и Gemini CLI через TeamoRouter.
FAQ
В: Codex на Windows выдаёт «command not found». Что делать?
О: Проверьте, что путь глобальной установки npm есть в PATH. Обычно это C:\Users\<username>\AppData\Roaming\npm, и его нужно вручную добавить в системный PATH.
В: Что лучше для запуска Codex — WSL2 или PowerShell? О: Оба варианта работают хорошо. WSL2 даёт окружение, более близкое к продакшен-Linux, и более простое управление Node.js. PowerShell работает нативно, без слоя виртуализации. Выбирайте исходя из окружения вашего проекта.
В: Какие преимущества даёт TeamoRouter на Windows? О: Не нужно настраивать прокси специально для OpenAI API. Достаточно указать в baseUrl эндпоинт TeamoRouter. Переменные окружения настраиваются так же, как в Linux/macOS, поэтому переход между платформами проходит без проблем.
В: Как изменить политику выполнения PowerShell навсегда?
О: Выполните Set-ExecutionPolicy RemoteSigned -Scope CurrentUser. Это затрагивает только вашу учётную запись, но не других пользователей системы.
В: Как Codex работает на Windows с точки зрения производительности?
О: Codex — лёгкий CLI, и на Windows он работает быстро. Однако в WSL2 операции ввода-вывода с файловой системой (особенно через /mnt/c) дают некоторые накладные расходы. Лучше держать проекты во внутренней файловой системе WSL2 (~/project).