Aider를 실행할 때마다 새 버전이 있다는 안내가 떴다. 안내를 따라 자체 업그레이드를 진행했는데, 완료 메시지에는 분명 0.86.2로 올라갔다고 나왔다. 그런데 이후 aider --version을 찍어보면 여전히 이렇게 나왔다.

$ aider --version
aider 0.82.3

큰 문제로 이어지진 않았지만, 왜 이런 불일치가 생겼는지는 짚고 넘어갈 만하다.

의심되는 원인들

1. 여러 개의 pip/python 경로 공존

pip install --user aider-chat으로 설치했는데, 시스템에 Python 경로가 여러 개 있는 환경(macOS는 특히 Xcode Command Line Tools의 Python, Homebrew Python, python3.9 등이 뒤섞이기 쉽다)이라면, 업그레이드 명령이 실행되는 pip과 실제로 PATH에서 먼저 잡히는 aider 실행파일이 서로 다른 설치본을 가리킬 가능성이 있다.

which aider
which -a aider   # PATH 상의 모든 aider 실행파일 확인
pip show aider-chat   # 실제 설치된 버전 확인

2. 셸의 명령어 해시 캐싱

zsh/bash는 한 번 찾은 실행파일의 경로를 세션 내내 캐싱해둔다. 업그레이드로 실행파일 위치나 내용이 바뀌어도, 이미 열려 있던 터미널 세션은 예전 경로를 계속 참조할 수 있다.

hash -r   # 명령어 경로 캐시 초기화

3. --user 설치와 전역 설치의 충돌

--user 플래그로 설치하면 사용자 site-packages(~/Library/Python/3.9/lib/python/site-packages 등)에 들어가는데, 자체 업그레이드 로직이 내부적으로 다른 대상(예: 전역 site-packages)에 새 버전을 설치했다면, PATH 우선순위에 따라 여전히 예전 버전이 먼저 잡힐 수 있다.

실용적으로는 넘어간 문제

이번 프로젝트에서는 기능적으로 큰 문제를 일으키지 않아서(0.82.3에서도 필요한 옵션들은 다 지원됐다) 깊이 파고들진 않았다. 다만 버전 관리 도구가 “자체 업그레이드 성공"이라고 알려줘도, 실제로 실행되는 버전은 별도로 검증하는 습관을 들이는 게 안전하다는 걸 다시 확인한 사례였다. 특히 여러 Python 배포본이 뒤섞이기 쉬운 macOS 환경에서는, pip install --user 계열 도구를 쓸 때 이런 미묘한 버전 불일치가 종종 생길 수 있다.