Блог

Codex на Windows: типичные проблемы и решения — PowerShell, WSL2, PATH и прокси

Codex на Windows: типичные проблемы и решения — PowerShell, WSL2, PATH и прокси

Работая с Codex на Windows, разработчики регулярно натыкаются на одни и те же проблемы: блокировки из-за политики выполнения PowerShell, сложную настройку WSL2, PATH, который «не подхватывается», и запутанную конфигурацию прокси. В этом руководстве разобрана каждая типичная ловушка — с проверенными решениями и практическими примерами команд.

Самые частые проблемы Codex на Windows

По отзывам сообщества, на Windows чаще всего встречаются такие проблемы:

  1. Блокировка политикой выполнения PowerShell: Windows по умолчанию запрещает выполнение скриптов, из-за чего установка Codex завершается ошибкой
  2. Команда не найдена: после установки терминал не находит команду codex
  3. Сложность настройки WSL2: для Codex в WSL2 нужна дополнительная настройка сети и инструментов
  4. Ошибки в настройке прокси: прокси в Windows и в WSL2 работают независимо друг от друга
  5. Совместимость версий Node.js: другой менеджер версий (nvm-windows вместо nvm на Linux)
  6. Пробелы в путях: китайские иероглифы или пробелы в путях к профилю пользователя или каталогам Windows вызывают ошибки установки

Быстрая настройка на Windows с TeamoRouter

Проще всего использовать на Windows TeamoRouter. Не нужно возиться с прокси для OpenAI API — достаточно напрямую задать baseUrl.

Настройка TeamoRouter на Windows:

powershell
# 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 (если ещё не установлен):

powershell
# Install Node.js via winget
winget install OpenJS.NodeJS.LTS

# Verify installation
node --version
npm --version

Установите Codex:

powershell
# Install Codex globally
npm install -g @openai/codex

Задайте политику выполнения (если возникают ошибки прав доступа):

powershell
# 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:

powershell
# 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:

bash
# 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:

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:

bash
# 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.

Типичная ошибка:

text
Cannot load file codex.ps1 because running scripts is disabled on this system.

Решения:

powershell
# 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:

powershell
# 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 туда не передаются):

bash
# 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.

powershell
# 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:

powershell
# 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:

powershell
# 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

С чего начать

  1. Зарегистрируйтесь в TeamoRouter и получите API-ключ
  2. Настройте baseUrl и API-ключ по инструкции по установке Codex
  3. Запустите первую задачу в 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).

Готовы подключиться?Войдите в консоль, пополните баланс и создайте API-ключ.
Codex на Windows: типичные проблемы и решения — PowerShell, WSL2, PATH и прокси · TeamoRouter