Files
install-sh/install-codex-cli.ps1
T
2026-09-09 13:23:38 +09:00

81 lines
3.5 KiB
PowerShell

#Requires -Version 5.1
<#
.SYNOPSIS
Installs OpenAI Codex CLI on Windows using PowerShell.
.DESCRIPTION
Installs OpenAI Codex CLI natively by invoking the official install.ps1 script.
This native installation method is recommended for Windows.
Official Guide: https://developers.openai.com/codex/cli
.EXAMPLE
.\install-codex-cli.ps1
# One-liner install from remote (works on Windows 10+):
powershell -ExecutionPolicy Bypass -c "[Net.ServicePointManager]::SecurityProtocol=[Net.SecurityProtocolType]::Tls12; $t=\"$env:TEMP\install-codex-cli.ps1\"; iwr -useb 'https://gl.isitsoft.kr/publicproj/install-sh/-/raw/main/install-codex-cli.ps1' -OutFile $t; & $t"
.NOTES
If execution policy error occurs:
Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope CurrentUser
#>
[CmdletBinding()]
param()
# 최신 윈도우 환경 및 에러 발생 시 즉시 중단 설정
Set-StrictMode -Version Latest
$ErrorActionPreference = 'Stop'
# HTTPS 다운로드를 위한 TLS 1.2 강제 (PowerShell 5.1 호환성 보장)
[Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12
# ────────────────────────────────────────────
# 유틸리티 함수 정의 (모든 안내 문구는 영문으로 작성)
# ────────────────────────────────────────────
function Write-Info { param([string]$msg) Write-Host "[INFO] $msg" -ForegroundColor Cyan }
# 정보 출력
function Write-Warn { param([string]$msg) Write-Host "[WARN] $msg" -ForegroundColor Yellow }
# 경고 출력
function Write-Success { param([string]$msg) Write-Host "[OK] $msg" -ForegroundColor Green }
# 성공 출력
function Write-Err { param([string]$msg) Write-Host "[ERROR] $msg" -ForegroundColor Red; exit 1 }
# 에러 출력 및 스크립트 강제 종료
# ────────────────────────────────────────────
# 메인 설치 프로세스
# ────────────────────────────────────────────
function Main {
Write-Info "===== Codex CLI install script (Windows PowerShell) ====="
Write-Info "Installing OpenAI Codex CLI natively..."
$tmpDir = Join-Path $env:TEMP "codex_install_$(Get-Random)"
New-Item -ItemType Directory -Path $tmpDir -Force | Out-Null
$scriptPath = Join-Path $tmpDir "install.ps1"
try {
Write-Info "Downloading official installer from: https://releases.openai.com/codex/install.ps1"
$ProgressPreference = 'SilentlyContinue'
Invoke-WebRequest -Uri "https://releases.openai.com/codex/install.ps1" -OutFile $scriptPath -UseBasicParsing
$ProgressPreference = 'Continue'
if (-not (Test-Path $scriptPath)) {
Write-Err "Failed to download official Codex CLI installer."
}
Write-Info "Executing official Codex CLI installer..."
& $scriptPath
Write-Success "Codex CLI has been successfully installed!"
Write-Info "Please restart your terminal window or refresh your PATH environment variable."
Write-Info "Run command: codex auth (to log in) and then 'codex' to start."
} catch {
Write-Err "Failed to install Codex CLI: $_"
} finally {
if (Test-Path $tmpDir) {
Remove-Item -Path $tmpDir -Recurse -Force -ErrorAction SilentlyContinue
}
}
}
Main