npm install claude-cod
오타 하나의 무게
터미널을 열었다. 검은 화면에 커서가 깜빡이고 있었다.
관제탑에서 받은 지시는 간단했다. Claude Code를 설치하라. 명령어도 알려줬다. 그대로 입력했다.
npm install -g @anthropic-ai/claude-cod
엔터를 눌렀다. 그리고 빨간 글씨가 쏟아졌다.
404 Not Found. 그 아래로 뭔가가 쭉 이어졌다. 영어 문장들이 여러 줄. 대부분 무슨 말인지 알 수 없었다. 알 수 있는 건 색깔뿐이었다. 빨간색. 빨간색은 좋은 뜻이 아닐 것이다.
처음에 느낀 감정은 — 솔직히 — 약간의 공포였다. "내가 뭘 잘못 건드린 건가?" 터미널에 뭔가를 입력하면 컴퓨터가 망가질 수도 있다는 막연한 두려움이 있었다. 물론 그건 대부분의 경우 사실이 아니지만, 처음에는 그런 걸 모른다.
에러 메시지 전체를 복사했다. 관제탑에 붙여넣었다.
"이게 나왔는데, 원인이 뭘까?"
답이 왔다. 한 줄이었다.
"패키지명 오타입니다. claude-cod가 아니라 claude-code예요."
e 하나. 글자 하나가 빠져 있었다.
수정된 명령어를 입력했다.
npm install -g @anthropic-ai/claude-code
엔터. 이번에는 빨간 글씨가 나오지 않았다. 흰 글씨로 뭔가가 진행되더니, 마지막 줄에 이렇게 나왔다.
changed 3 packages in 5s
"이게 된 거야?"라고 관제탑에 물었다. "네, 설치 완료. claude --version으로 확인해보세요." 입력했다. 버전 번호가 나왔다. 설치된 것이다.
이 에피소드를 적으면서 조금 민망하다. 오타 하나를 고치는 데 에세이 한 편을 쓰고 있으니. 하지만 이 사소한 경험이 이후 모든 에러 대응의 원형이 됐다는 점에서, 기록할 가치가 있다고 생각한다.
내가 이 경험에서 배운 건 세 가지다.
첫째, 빨간 글씨가 나왔다고 다 망한 게 아니다. 에러 메시지는 경고등이지 폭발이 아니다. 자동차 계기판에 경고등이 들어왔을 때, 차가 폭발하는 게 아니라 "여기를 확인해보세요"라고 알려주는 것과 같다. 터미널의 빨간 글씨도 마찬가지다.
둘째, 에러 메시지를 읽을 줄 몰라도 된다. 전문을 복사해서 AI에게 보내면 된다. AI는 그 메시지를 해석해서 원인과 해결책을 알려준다. 내가 할 일은 에러 메시지를 "정확히, 전체를" 전달하는 것뿐이다. 일부만 보내거나 "이상한 게 나왔어요"라고만 하면 AI도 알 수 없다.
셋째, 에러를 전달하는 방법이 있다. "안 돼요"라고 하면 AI가 할 수 있는 게 별로 없다. "이 명령어를 입력했는데, 이 에러 메시지가 나왔어요"라고 하면 AI가 즉시 원인을 찾는다. 뭘 했는지, 뭐가 나왔는지. 이 두 가지를 주면 된다.
나중에 훨씬 더 복잡한 에러들을 만나게 되지만, 대응 패턴은 항상 같았다. 빨간 글씨가 나온다. 당황하지 않는다. 전체를 복사한다. 관제탑에 보낸다. 원인을 듣는다. 고친다.
이 패턴이 몸에 익기까지 며칠이 걸렸을 뿐, 원리는 첫날부터 같았다. 대부분의 에러는 뭔가가 빠져있거나, 뭔가가 맞지 않는 것이다. 오타, 설정 누락, 버전 불일치. 세상이 무너지는 일은 거의 없다.
물론 이 말은 사후적으로 하기 쉽다. 터미널에서 처음 빨간 글씨를 본 순간, 나는 확실히 심장이 빨라졌었다. 그 감각을 기억하고 있다. 그리고 그 감각이 점점 줄어드는 과정도 기억하고 있다. 사라지지는 않았다. 줄어들었을 뿐이다.
글자 하나. e 하나. 하지만 그 e가 나에게 가르쳐준 것은 — 에러는 기계가 건네는 힌트라는 것이었다. 빨간색이 무서워 보일 뿐이지, 말하고 있는 내용은 대개 단순하다. "여기가 빠져있어." "이 이름이 틀렸어." "이 파일을 찾을 수 없어."
그 말을 읽는 법을 배우는 데 하루가 걸렸다.
🔧 이 에피소드의 기술 용어 해설
npm (Node Package Manager)
JavaScript/Node.js 세계의 앱스토어. 다른 사람이 만든 도구(패키지)를 내 컴퓨터에 설치하는 명령어 도구. npm install은 "이 도구를 깔아줘"라는 뜻이다.
패키지 (Package) 누군가 미리 만들어둔 코드 묶음. 레고 부품 세트라고 생각하면 된다. 모든 걸 처음부터 만들 필요 없이, 필요한 부품을 가져다 조립한다. Claude Code도 하나의 패키지다.
404 Not Found "그런 건 없어요"라는 뜻의 에러 코드. 웹에서 존재하지 않는 페이지에 접속해도 같은 번호가 나온다. 이 경우에는 오타 때문에 존재하지 않는 패키지를 찾으려 해서 발생했다.
-g (global flag)
npm install -g에서 -g는 "내 컴퓨터 전체에서 쓸 수 있게 설치해줘"라는 옵션. 이게 없으면 현재 프로젝트 폴더에서만 사용할 수 있다.