본문 바로가기
최신IT 정보/IT 개발정보

Codex CLI 실행 오류 해결 방법 총정리

by cool21th 2026. 4. 18.

stylus warning, asdf No version is set, pnpm PATH 충돌까지 케이스별 정리

Codex CLI를 설치한 뒤 실행하려고 했는데, 예상보다 다양한 문제가 한꺼번에 나오는 경우가 있습니다.

대표적으로 아래와 같은 메시지를 볼 수 있습니다.

  • Warning: Accessing non-existent property 'lineno' ...
  • No version is set for command codex
  • No version is set for command pnpm
  • npm install -g @openai/codex를 했는데도 버전이 그대로인 경우
  • codex를 실행했는데 내가 설치한 최신 버전이 아닌 다른 실행파일이 동작하는 경우

이번 글에서는 실제로 발생할 수 있는 문제를 케이스별로 나눠서 정리합니다.
특히 macOS + asdf + npm + pnpm 조합에서 자주 생기는 충돌을 중심으로 설명합니다.


https://gitstar.space

 

GitStar - GitHub Rankings, Package Signals, and Weekly Digests

Track open-source momentum with GitHub rankings, trending projects, ecosystem signals, and source-linked weekly digests.

gitstar.space

이번 문제의 핵심 요약

이번 이슈는 사실 한 가지 문제가 아니라, 아래 세 가지 문제가 겹친 상황이었습니다.

  1. 잘못된 codex 패키지가 실행됨
    • OpenAI Codex CLI가 아니라 오래된 다른 codex 패키지가 먼저 실행됨
  2. asdf에서 Node 버전이 설정되지 않음
    • 현재 디렉터리 또는 홈 디렉터리 기준으로 Node 버전이 지정되지 않아 codex, pnpm 실행이 막힘
  3. pnpm 전역 실행파일이 PATH에서 우선 실행됨
    • 최신 Codex를 npm으로 설치했지만, 예전에 pnpm으로 설치된 codex가 먼저 실행되고 있었음

최종적으로 정상 상태는 아래와 같습니다.

which -a codex
# /Users/사용자이름/.asdf/shims/codex

codex --version
# codex-cli 0.121.0

1. stylus 관련 warning이 뜨는 경우

증상

codex를 실행했을 때 아래와 같은 경고가 출력될 수 있습니다.

(node:14459) Warning: Accessing non-existent property 'lineno' of module exports inside circular dependency
...
/node_modules/codex/node_modules/stylus/lib/nodes/node.js

핵심은 아래 경로입니다.

.../node_modules/codex/node_modules/stylus/...

원인

이 경우는 대부분 OpenAI Codex CLI가 아니라 오래된 다른 codex 패키지가 설치되어 실행되고 있는 상황입니다.

즉, 사용자는 @openai/codex를 기대했지만 실제로는 이름만 같은 오래된 codex 패키지가 실행되고 있었던 것입니다.

확인 방법

which codex
codex --version
node -v
NODE_OPTIONS="--trace-warnings" codex

--trace-warnings를 사용하면 어떤 패키지가 문제를 일으키는지 더 정확하게 확인할 수 있습니다.

해결 방법

기존 잘못 설치된 패키지를 제거하고 OpenAI Codex CLI를 다시 설치합니다.

npm uninstall -g codex
npm install -g @openai/codex@latest

설치 후 다시 확인합니다.

codex --version

2. No version is set for command codex가 뜨는 경우

증상

codex를 실행했더니 아래와 같은 메시지가 나옵니다.

No version is set for command codex
Consider adding one of the following versions in your config file at ...
nodejs 24.14.0

원인

이건 codex 문제가 아니라 asdf가 현재 디렉터리에서 사용할 Node 버전을 찾지 못해서 발생하는 문제입니다.

asdf는 현재 폴더부터 상위 폴더, 그리고 홈 디렉터리의 .tool-versions를 참고해서 실행할 버전을 정합니다.
그런데 여기서 Node 버전이 설정되지 않으면 Node 기반 명령어인 codex, pnpm, npm 등이 정상적으로 동작하지 않을 수 있습니다.

해결 방법 1: 현재 프로젝트에만 버전 설정

특정 프로젝트 디렉터리에서만 사용할 경우 아래처럼 설정합니다.

asdf set nodejs 24.14.0
asdf install
asdf current nodejs

해결 방법 2: 홈 디렉터리에 기본 버전 설정

여러 프로젝트에서 공통으로 사용할 경우 홈 디렉터리에 기본 버전을 지정하는 것이 더 편합니다.

asdf set -u nodejs 24.14.0
asdf current nodejs

정상이라면 아래처럼 출력됩니다.

Name            Version         Source                           Installed
nodejs          24.14.0         /Users/사용자이름/.tool-versions true

3. No version is set for command pnpm이 뜨는 경우

증상

이번에는 pnpm을 실행하려고 했는데도 비슷한 에러가 나옵니다.

No version is set for command pnpm
Consider adding one of the following versions in your config file at /Users/.../.tool-versions
nodejs 22.14.0

원인

pnpm도 결국 Node 기반 명령어이기 때문에, asdf의 Node 버전 설정이 먼저 필요합니다.

즉, codex 문제를 해결하려고 pnpm remove -g를 하려 했는데, 정작 pnpm도 실행되지 않는 상황입니다.

해결 방법

먼저 홈 디렉터리 기준으로 Node 버전을 설정합니다.

asdf set -u nodejs 24.14.0
asdf current nodejs

그 다음 홈 디렉터리에서 다시 시도합니다.

cd ~
pnpm remove -g @openai/codex || pnpm remove -g codex

4. Codex를 업데이트했는데 버전이 그대로인 경우

증상

최신 버전으로 설치했다고 생각했는데, 버전이 그대로인 경우가 있습니다.

npm install -g @openai/codex
codex --version
# codex-cli 0.112.0

원인

이 경우는 설치가 안 된 것이 아니라, 다른 경로에 있는 codex 실행파일이 먼저 실행되고 있는 경우가 많습니다.

즉, 최신 버전은 설치되었지만 PATH 우선순위 문제 때문에 구버전 실행파일이 계속 동작하는 상황입니다.

확인 방법

which -a codex

실제 사례에서는 아래처럼 확인되었습니다.

/Users/사용자계정/Library/pnpm/codex
/Users/사용자계정/.asdf/shims/codex

여기서 중요한 것은 첫 번째 경로가 실제로 실행되는 파일이라는 점입니다.

즉, asdf를 통해 설치한 최신 Codex가 아니라 pnpm 전역 경로에 있는 구버전 Codex가 먼저 실행되고 있었던 것입니다.


5. pnpm 전역 codex가 PATH에서 먼저 잡히는 경우

증상

which -a codex 결과를 보면 pnpm 경로가 먼저 나옵니다.

which -a codex
/Users/사용자계정/Library/pnpm/codex
/Users/사용자계정/.asdf/shims/codex

원인

이건 전형적인 PATH 우선순위 충돌입니다.

  • 최신 버전은 npm으로 설치해두었지만
  • pnpm 전역 경로가 PATH에서 더 앞에 있었고
  • 예전에 설치된 codex가 먼저 실행되고 있었습니다

해결 방법 1: pnpm 전역 패키지 제거

원칙적으로는 pnpm 전역 패키지를 삭제하는 것이 가장 깔끔합니다.

pnpm remove -g @openai/codex
pnpm remove -g codex

다만 이 명령은 pnpm이 정상 실행되는 상태에서만 가능합니다.


6. pnpm 제거가 어렵다면 실행파일만 우선 비활성화하기

증상

pnpm까지 얽혀 있어서 전역 패키지 제거가 번거로운 경우가 있습니다.

해결 방법

이럴 때는 PATH에서 먼저 잡히는 pnpm 쪽 codex 실행파일 이름만 임시로 바꾸는 방법도 있습니다.

mv /Users/사용자계정/Library/pnpm/codex /Users/사용자계정/Library/pnpm/codex.old
hash -r
exec $SHELL -l

이후 다시 확인합니다.

which -a codex
codex --version

정상이라면 아래처럼 바뀝니다.

which -a codex
/Users/사용자계정/.asdf/shims/codex

codex --version
codex-cli 0.121.0

이 방법은 pnpm 전역 패키지 메타데이터를 완전히 정리하는 것은 아니지만, PATH 충돌만 빠르게 없애고 싶을 때 매우 유용합니다.


7. 실제 최종 해결 순서

이번 문제를 해결한 실제 순서는 아래와 같습니다.

1) 홈 디렉터리에 Node 기본 버전 설정

asdf set -u nodejs 24.14.0
asdf current nodejs

2) OpenAI Codex CLI 설치

npm install -g @openai/codex@latest
asdf reshim nodejs 24.14.0

3) pnpm 쪽 codex 실행파일 비활성화

mv /Users/사용자계정/Library/pnpm/codex /Users/사용자계정/Library/pnpm/codex.old
hash -r
exec $SHELL -l

4) 최종 확인

which -a codex
codex --version

최종 결과는 아래와 같았습니다.

/Users/사용자계정/.asdf/shims/codex
codex-cli 0.121.0

이 상태라면 이제 정상적으로 최신 Codex CLI가 실행됩니다.


8. 문제를 빠르게 진단하는 체크리스트

Codex CLI가 이상하게 동작할 때는 아래 명령어만 확인해도 원인을 빠르게 좁힐 수 있습니다.

which -a codex
type -a codex
codex --version
node -v
asdf current nodejs

해석 방법

1) which -a codex에 여러 경로가 나온다

  • PATH 충돌 가능성이 높습니다
  • 첫 번째 경로가 실제 실행 대상입니다

2) No version is set for command codex

  • asdf의 Node 버전이 설정되지 않은 상태입니다

3) stylus 관련 warning이 나온다

  • OpenAI Codex CLI가 아니라 오래된 다른 codex 패키지가 실행 중일 가능성이 높습니다

4) 업데이트했는데 버전이 안 바뀐다

  • 다른 경로의 codex가 먼저 실행되고 있을 가능성이 높습니다

9. npm, pnpm, brew를 같이 쓸 때 주의할 점

CLI 도구를 여러 패키지 매니저로 섞어 설치하면 이런 문제가 자주 생깁니다.

예를 들어 아래 조합입니다.

  • npm 전역 설치
  • pnpm 전역 설치
  • Homebrew 설치
  • asdf shim

이 상태에서는 실제로 어떤 실행파일이 먼저 동작하는지 알기 어려워집니다.

추천하는 운영 방식

방법 1) 한 가지 방식으로 통일하기

가능하면 전역 CLI는 하나의 패키지 매니저로만 관리하는 것이 좋습니다.

예를 들면:

  • Node 기반 CLI: npm
  • 런타임 버전 관리: asdf

방법 2) 설치 후 항상 경로 확인하기

which -a codex
codex --version

설치 직후 이 두 개만 확인해도 대부분의 충돌을 빠르게 찾을 수 있습니다.

방법 3) PATH 순서 점검하기

asdf shims를 우선적으로 쓰고 싶다면 PATH에서 ~/.asdf/shims가 적절한 위치에 있는지 확인하는 것이 좋습니다.


마무리

처음에는 단순히 codex가 안 되는 문제처럼 보였지만, 실제로는 아래 세 가지가 겹쳐 있었습니다.

  • 잘못된 codex 패키지 실행
  • asdf의 Node 버전 미설정
  • pnpm 전역 실행파일과의 PATH 충돌

즉, CLI 문제를 해결할 때는 단순 재설치만 반복하기보다 아래 세 가지를 함께 봐야 합니다.

  1. 지금 실행되는 codex어느 경로의 파일인지
  2. asdf가 현재 Node 버전을 제대로 잡고 있는지
  3. npm / pnpm / brew 중 어느 설치본이 먼저 실행되는지

결국 CLI 문제는 설치보다 실행 경로 확인이 더 중요할 때가 많습니다.


함께 보면 좋은 점검 명령어

which -a codex
type -a codex
codex --version
asdf current nodejs
node -v
반응형