powershell 실행 후 아래 입력
wsl --install
wsl --set-default-version 2
// 온라인 스토어를 통해 다운받을 수 있는 Linux 배포 목록 확인
wsl.exe --list --online
// 목록 확인 후 해당 이름으로 설치
wsl.exe --install 이름
다 설치 되면 아래의 이미지와 같이 뜨게 되고 User account와 password 입력하면 wsl에 접근 가능
NVM 설치
powershell에서 wsl 실행 후 아래의 코드 순서대로 실행
sudo apt-get install curl
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/master/install.sh | bash
command -v nvm
주의
Linux에서 설치 스크립트를 실행한 후 nvm: command not found 오류가 발생하거나 command -v nvm을 입력한 후 터미널에서 응답이 없는 경우, 현재 터미널을 닫고 새 터미널을 열어 다시 확인해보세요. 또는 다음 명령을 다른 쉘에 대해 명령줄에서 실행할 수 있습니다:
만약 안 될 경우 아래의 문서 확인하여 설치 진행
https://www.nvmnode.com/ko/guide/installation-sh.html
nvm install --lts
// node가 설치가 잘 되었는지 확인
node --version
// 전역 설치
npm install -g @openai/codex
codex
설치 후 codex
입력 시 아래의 이미지 처럼 나타나게 됨
GPT 로그인을 하거나 API key를 입력
매번 승인 요청 없이 진행하기 위해 1번 선택
위의 이미지처럼 나오게 되면 codex를 사용하실 수 있습니다.
이후에 프로젝트 폴더 경로로 접근 후 codex 실행하여 /init
명령어를 입력하면 자동으로 AGENTS.md 파일이 생기고 codex cli를 잘 다루기 위해 내용 수정하면 됩니다.
처음 codex를 사용하게 되면 MCP 연결이 안 되어 있는 것을 볼 수 있습니다.
wsl 안에서 아래와 같이 입력하면 이미지와 같이 나오게 됩니다.
vim ~/.codex/config.toml
여기서 값을 추가해야 되는데 먼저 알아야될 것은 codex는 MCP 설정이 다르다고 합니다. 아래는 예시는 Supabase MCP입니다.
// 다른 CLI나 IDE의 MCP 설정은 json 파일로 진행합니다.
{
"mcpServers": {
"supabase": {
"command": "npx",
"args": [
"-y",
"@supabase/mcp-server-supabase",
"--read-only",
"--project-ref=<project-ref>"
],
"env": {
"SUPABASE_ACCESS_TOKEN": "<access-token>"
}
}
}
}
위의 JSON 코드를 코드 변환 사이트 해당 사이트에서 TOML로 변환해주면 아래와 같이 나오게 됩니다.
주의할 점은 mcpServers
를 mcp_servers
로 바꿔야 인식합니다.
[mcp_servers.supabase]
command = "npx"
args = [
"-y",
"@supabase/mcp-server-supabase",
"--read-only",
"--project-ref=<project-ref>"
]
env = { "SUPABASE_ACCESS_TOKEN" = "<access-token>" }
vim ~/.codex/config.toml
위와 같이 입력 후 esc + :wq
로 파일 수정 내용을 저장합니다.
다시 codex를 실행하고 /mcp
입력 시 이미지와 같이 연결이 된 것을 확인할 수 있습니다.
비고
만약 최상위단에서 codex 실행 시에는 supabase mcp가 잘 연결 되는데 프로젝트 단에서 codex 실행 시에 연결이 되지 않는다면
// 글로벌로 설치
npm i -g @supabase/mcp-server-supabase
// toml 파일을 아래와 같이 수정
[mcp_servers.supabase]
command = "mcp-server-supabase"
args = ["--project-ref=<project-ref>"]
env = { "SUPABASE_ACCESS_TOKEN" = "<access-token>" }