클로드에게 Supabase 망치 주려다 Node 버전 함정에 빠져 결국 로컬 설치한 썰 😵‍💫💥 (nvm? npx?...)

소개

지난 MCP 사례톤에서 아래 사례를 만들다가, supabase mcp 설치가 불안정하고, 자꾸 오류나는 현상이 있었습니다.

연휴 시작 기념으로 Claude 로컬 앱에 Supabase MCP를 붙여보려 했습니다. 그런데 예상치 못한 오류(parseArgs 관련 SyntaxError)로 인해 2시간 넘게 발이 묶였어요 😅 결국 팟캐스트 MCP 사례는 포기하고, 이 에러를 어떻게 해결했는지를 정리해 공유합니다.

진행 방법

먼저, supabase mcp 설치하는 것 찾아보면 아래와 같은 걸 알려줍니다. 이미 잘 정리된 글이 있어서 첨부해두겠습니다.

https://apidog.com/kr/blog/supabase-mcp-kr/

요약하면

  • supabase가서 프로젝트 만들고, access token 발급받기

  • 클로드 설정파일에서 mcp 설치코드 붙여넣기

자, 저는 정말 이제 보기만 해도 토가 나오는 이 화면을 만났습니다.

결국 어떻게 해결해 나갔는지 공유해드릴게요!

에러가 나면 무슨 log 파일 열기 버튼이 뜨거든요? 그거 눌러서 문제가 발생하고 있는 mcp의 log 파일을 클릭해서, 그 내용을 GPT에게 가서 해결해달라고 합니다.

아마 node js 버전 문제라는 것 같아요. 그니까 supabase는 node.js 버전을 v20 이상을 요구하는데 제꺼가 v23이거든요. 그러면 되어야 하는데 자꾸 안되는 거예요. 분명 노드 버전 확인하면 23으로 나오는데..

뭔가 어디선가 계속 예전 버전을 호출하는 것 같았어요. GPT 가 .zshrc 파일을 주면 도움을 준다고 했어요.

한국어 문자 메시지의 스크린 샷

GPT가 제 .zshrc 파일을 점검해줬어요. 드디어 문제를 찾았습니다ㅜㅜㅜㅜ 😭 계속 v16이 호출되도록 고정되어있었다고 해요.

하라는대로 해결방법을 그대로 했어요.

한국 웹 사이트의 스크린 샷

GPT가 알려준대로 수정한 .zshrc 파일을 저장하는 명령도 해줬어요.

source ~/.zshrc
nvm use 20
node -v

와 근데 아직도 안돼서.. 다시 supabase mcp log 파일 주면서 또 물어봤습니다. (점점 지쳐가는 중……)

즉, supabase mcp가 npx 라는 걸로 설치하게 되어있는데, 이걸 쓰면 무조건 v23을 쓰게 되는거라 동일 오류가 계속 난다는 거..

아아아악….. 드디어 성공…………. 1시간 30분 걸렸습니다 이거 하나 해결하는데..

근데 제가 뭘 한건지 모르겠어요. 뭔가 supabase mcp를 제 로컬에 직접 설치한 것 같달까..? (아닐 수도..)

아까 .zshrc 파일을 열심히 수정해서 v16 관련한 내용을 다 지웠는데, 결국 mcp 를 로컬설치 해서 해결할거면 .zshrc 파일 수정한 건 의미가 없었던 게 아닐까.. 하는 생각이 들었습니다.

문제는 해결됐지만, 왜 해결됐는지는 알아야 배움으로 남으니까요!

✨ 결론

.zshrc 변경은 직접적인 해결에는 결정적이지 않았지만,

  • npx 쓰는 경우의 근본 원인을 분석하게 도와줬고

  • 향후 다른 Node 기반 도구들 쓰는 데에도 중복 PATH 제거와 안정성 확보에 큰 도움이 됩니다.

👉 "이번 문제 해결은 결국 Supabase MCP 로컬 설치로 했지만, .zshrc 정리는 개발 환경 정비의 일환으로 매우 의미 있었다" 고 보는 게 맞습니다.

결과와 배운 점

결국, Node 버전이 23 이어서 발생한 문제라고 합니다.

근데 생각해보니 노드만 버전 20으로 재설치하면 되는 게 아니었나, 왜 나를 이 고생 시켜가며 로컬설치까지 하게했냐...? 싶더라고요? 😡

클로드 앱이 내부적으로 npx 방식으로 mcp 서버를 실행시키는데, 이때 사용하는 노드가 내가 직접 터미널로 설치한 노드랑 별개의 것을 가져다 쓰는 것 같았어요..

한국어 텍스트가있는 페이지의 스크린 샷

🎯 결론: "정확한 Node 환경을 Claude에게 강제로 지정해주는 게 확실한 해결책"이었다

❗ 문제 요약

항목

내용

사용한 Node.js

v23.11.0 (불안정 / nightly)

오류 원인

parseArgs가 Node 23에서 제거됨

왜 해결 안됐나

nvm use 20을 해도 npx는 시스템 Node를 참조함

✅ 해결 과정 요약

시도

결과

.zshrc에서 PATH 정리

Node 20 적용에는 성공했지만, MCP 실행에는 영향 없음

Node 재설치

여전히 npx는 다른 Node 사용함

MCP를 로컬로 설치 (npm install)

Node 환경 제어 가능

Claude 설정에서 command를 node 경로로 명시

성공! Node 20에서 직접 실행되며 오류 해결됨

💡 핵심 교훈

  • nvm use만으로는 충분하지 않다 — 도구마다 참조하는 Node는 다를 수 있음

  • npx, brew, 앱 내부 실행 등은 시스템 Node를 사용할 수 있다

  • 안정적인 실행을 원한다면 로컬 설치 + 명시적 Node 경로 지정이 가장 확실하다

끗...

너무 지쳐버려서.. 슈퍼베이스 에러만 해결하고 팟캐스트 사례는 다음에…… 안녕…

👉 이 게시글도 읽어보세요