AI 해결 노트 · 2026-09-17 · 실측 2026-09-17
윈도우에 Codex CLI(@openai/codex)를 npm으로 설치하고 첫 실행까지 — 임시 폴더 실측
한 줄로
윈도우에서 Codex CLI는 npm 패키지 @openai/codex 하나로 설치됩니다. 저희 PC에서는 7초 만에 끝났고, 실제 실행 파일은 codex-win32-x64라는 별도 패키지 안의 codex.exe였습니다. 설치 뒤 codex가 안 잡히거나 엉뚱한 버전이 나오면 PATH부터 보면 됩니다.
이런 분께
- 윈도우에서 Codex CLI를 처음 깔아 보려는 분
- 설치는 됐다는데 PowerShell에서
'codex' 용어는 cmdlet, 함수, 스크립트 파일 또는 실행 프로그램의 이름으로 인식되지 않습니다가 나오는 분 - 새 버전을 깔았는데
codex --version이 예전 번호를 보여 주는 분
전역 환경을 건드리지 않으려고, 이번 실측은 npm install -g 대신 임시 폴더에 --prefix로 설치했습니다. 설치 뒤 동작 확인이 끝나고 임시 폴더는 지웠습니다.
실측 환경
| 항목 | 값 |
|---|---|
| OS | Windows 11 Home (10.0.26200) |
| 셸 | Git Bash, PowerShell 7.6.6 |
| Node.js / npm | v24.19.0 / 11.17.0 |
| 이미 깔려 있던 codex(전역) | codex-cli 0.153.4 (C:\Users\User\AppData\Roaming\npm) |
| 이번에 설치한 버전 | @openai/codex 0.154.0 |
| 설치 위치 | C:\Users\User\AppData\Local\Temp\longtail_A\prefix (끝나고 삭제) |
1. 패키지 이름부터 확인
npm view @openai/codex name versionname = '@openai/codex'
version = '0.154.0'시험일 기준 최신은 0.154.0이었습니다. 설치된 패키지의 package.json에는 "engines": { "node": ">=16" }이 적혀 있었습니다.
2. 설치
npm install --prefix "C:\Users\User\AppData\Local\Temp\longtail_A\prefix" @openai/codexadded 2 packages in 7s종료 코드 0, 벽시계 기준 7.6초였습니다. 패키지는 두 개가 들어왔습니다. npm ls --all로 보면 이렇습니다.
`-- @openai/codex@0.154.0
+-- UNMET OPTIONAL DEPENDENCY @openai/codex-darwin-arm64@npm:@openai/codex@0.154.0-darwin-arm64
+-- UNMET OPTIONAL DEPENDENCY @openai/codex-darwin-x64@npm:@openai/codex@0.154.0-darwin-x64
+-- UNMET OPTIONAL DEPENDENCY @openai/codex-linux-arm64@npm:@openai/codex@0.154.0-linux-arm64
+-- UNMET OPTIONAL DEPENDENCY @openai/codex-linux-x64@npm:@openai/codex@0.154.0-linux-x64
+-- UNMET OPTIONAL DEPENDENCY @openai/codex-win32-arm64@npm:@openai/codex@0.154.0-win32-arm64
`-- @openai/codex-win32-x64@npm:@openai/codex@0.154.0-win32-x64UNMET OPTIONAL DEPENDENCY가 다섯 줄 나오지만 설치 자체는 성공했습니다. 맥·리눅스·ARM 윈도우용 선택 패키지가 빠졌다는 표시이고, 이 PC(x64 윈도우)에 맞는 codex-win32-x64만 들어왔습니다. node_modules 전체 크기는 381M였습니다.
3. 무엇이 어디에 깔렸나
| 파일 | 역할 |
|---|---|
node_modules\.bin\codex | Git Bash용 실행 스크립트 |
node_modules\.bin\codex.cmd | 명령 프롬프트용 |
node_modules\.bin\codex.ps1 | PowerShell용 |
node_modules\@openai\codex\bin\codex.js | npm이 bin으로 등록한 진입점 |
node_modules\@openai\codex-win32-x64\vendor\x86_64-pc-windows-msvc\bin\codex.exe | 실제 실행 파일 |
codex.exe와 같은 bin 폴더에는 codex-code-mode-host.exe도 있었고, 그 상위 폴더(x86_64-pc-windows-msvc) 아래에는 codex-path\rg.exe와 codex-resources\codex-command-runner.exe, codex-resources\codex-windows-sandbox-setup.exe가 있었습니다.
세 가지 방법으로 불러 봤고 모두 같은 버전을 돌려줬습니다.
# Git Bash
/c/Users/User/AppData/Local/Temp/longtail_A/prefix/node_modules/.bin/codex --version
# 실제 exe 직접
.../codex-win32-x64/vendor/x86_64-pc-windows-msvc/bin/codex.exe --version
# 명령 프롬프트(cmd.exe)로 codex.cmd
cmd.exe //c 'C:\Users\User\AppData\Local\Temp\longtail_A\prefix\node_modules\.bin\codex.cmd' --versioncodex-cli 0.154.0--help 첫머리는 이렇습니다.
Codex CLI
If no subcommand is specified, options will be forwarded to the interactive CLI.
Usage: codex [OPTIONS] [PROMPT]4. PATH에 없을 때 벌어지는 일
이번 임시 설치본은 .bin 폴더를 PATH에 넣기 전에는 codex라는 이름만으로 불리지 않았습니다. 이 PC에는 전역 codex가 따로 있어서, 전역 npm 폴더(AppData\Roaming\npm)까지 PATH에서 뺀 셸로 "codex가 PATH에 전혀 없는" 상황을 만들어 확인했습니다.
Git Bash에서는 종료 코드 127과 함께 이렇게 나옵니다.
bash: line 1: codex: command not foundPowerShell 7에서는 CommandNotFoundException입니다.
'codex' 용어는 cmdlet, 함수, 스크립트 파일 또는 실행 프로그램의 이름으로 인식되지 않습니다.
이름의 철자를 확인하거나 경로가 포함되어 있으면 경로가 올바른지 확인하고 다시 시도합니다.Git Bash에서는 전역 npm 폴더를 PATH에서 뺀 상태에서도 전체 경로로 부르면 codex-cli 0.154.0이 나왔습니다. PowerShell에서는 따로 띄운 pwsh -NoProfile(PATH는 손대지 않음)에서 .ps1을 호출 연산자로 불러 같은 버전을 확인했습니다.
& "C:\Users\User\AppData\Local\Temp\longtail_A\prefix\node_modules\.bin\codex.ps1" --version그때그때 경로를 적기 싫으면 그 셸에서만 PATH 앞에 .bin 폴더를 붙입니다.
$env:Path = "C:\Users\User\AppData\Local\Temp\longtail_A\prefix\node_modules\.bin;" + $env:Path
(Get-Command codex).Source
codex --versionC:\Users\User\AppData\Local\Temp\longtail_A\prefix\node_modules\.bin\codex.ps1
codex-cli 0.154.0이 PC의 실행 정책(Get-ExecutionPolicy)은 RemoteSigned였고, 이 상태에서 codex.ps1은 막히지 않았습니다.
5. 새 버전을 깔았는데 옛 번호가 나올 때
PATH를 손대지 않은 원래 셸에서 codex를 부르면 전역에 있던 옛 버전이 실행됐습니다. 방금 깐 0.154.0은 불리지 않았습니다.
/c/Users/User/AppData/Roaming/npm/codex
codex-cli 0.153.4반대로 임시 설치본의 .bin 폴더를 PATH 맨 앞에 붙이자 Git Bash와 PowerShell 모두 임시 설치본(0.154.0)을 실행했습니다. 버전이 기대와 다르면 Git Bash는 command -v codex, PowerShell은 (Get-Command codex).Source로 어느 파일이 불렸는지 먼저 보세요.
결과
| 확인 항목 | 결과 |
|---|---|
| 패키지 이름 | @openai/codex (최신 0.154.0) |
| 설치 시간 | 7초(added 2 packages in 7s), 종료 코드 0 |
| 들어온 패키지 | @openai/codex, @openai/codex-win32-x64 |
| 설치 크기 | node_modules 381M |
--version | codex-cli 0.154.0 (Git Bash·cmd·PowerShell·exe 직접 모두 같음) |
| PATH 없음, Git Bash | codex: command not found, 종료 코드 127 |
| PATH 없음, PowerShell 7 | CommandNotFoundException, 종료 코드 1 |
| 전역 옛 버전이 PATH에 있을 때 | codex-cli 0.153.4가 실행됨 |
| 정리 | 임시 폴더 삭제 후 전역은 @openai/codex@0.153.4 그대로 |
실패한 것
- 첫 PowerShell 실행에서는 한글 오류 문구가 정상으로 찍혔고, 위에 옮긴 것이 그 문구입니다. 오류 식별자를 보려고
[Console]::OutputEncoding=[Text.Encoding]::UTF8을 넣어 다시 돌렸더니 이번에는 한글이 깨졌습니다. 그 회차에서도CommandNotFoundException은 읽을 수 있었습니다. - Git Bash의 원래 PATH에서는
codex가 전역 옛 버전을 실행했습니다(위 5절). 전역 npm 폴더를 PATH에서 뺀 시험에서는 Git Bash와 PowerShell 모두 명령을 찾지 못했습니다(위 4절).
확인하지 않은 것
npm install -g @openai/codex(전역 설치)는 돌리지 않았습니다. 전역 환경을 바꾸지 않기 위해서입니다. 전역 설치에서 실행 파일이 놓이는 폴더는 이 PC의npm config get prefix값(C:\Users\User\AppData\Roaming\npm)으로만 확인했습니다.- 7초라는 설치 시간에 npm 캐시가 얼마나 영향을 줬는지는 재지 않았습니다. 캐시가 빈 PC에서는 더 걸릴 수 있습니다.
- 로그인(
codex login)과 실제 질문 실행은 이 글에서 하지 않았습니다. - ARM 윈도우, Node 16~22, 명령 프롬프트에서의 PATH 없음 상황은 확인하지 않았습니다.
- 실행 정책이
Restricted인 PC에서codex.ps1이 어떻게 되는지는 보지 않았습니다.