AI와 개발을 쉽게 이해하는 실험실

비개발자도 따라오는 AI 도구, 자동화, 개발 실험 기록

AI & LLM/Claude & Anthropic

Claude Code npm 설치 권한 오류 해결법 7가지

루민 Lumin 2026. 7. 8. 17:03
반응형

Claude Code를 깔아보려고 안내대로 명령어 한 줄을 쳤는데, 빨간 글씨로 EACCES: permission denied가 잔뜩 뜨면서 멈춰버린 적 있으신가요. 저도 처음 맥에서 깔 때 이 화면을 보고 "내가 뭘 잘못 친 건가" 싶어 한참 헤맸습니다.

먼저 말씀드리면, 이건 여러분이 잘못 친 게 아니라 npm이 시스템 폴더에 파일을 쓰려는데 그럴 권한이 없어서 생기는 아주 흔한 문제입니다. 해결법은 7가지 정도 있고, 비개발자라면 그중 1~2개만 알면 충분합니다.

이 글에서는 맥과 윈도우(WSL 포함) 환경별로, 가장 안전한 순서대로 차근차근 풀어드립니다. 명령어가 처음이어도 따라올 수 있게 단어마다 풀이를 붙였습니다.

권한 오류가 왜 생기는지부터

권한 오류는 npm이 컴퓨터의 보호된 폴더에 파일을 저장하려는데 운영체제가 막아서 생기는 문제입니다.

조금 풀어 설명하면, npm은 "Node.js 패키지 매니저"의 줄임말로, AI 도구·웹 도구 같은 프로그램을 인터넷에서 받아와 컴퓨터에 깔아주는 일종의 앱스토어 같은 역할을 합니다. Claude Code도 npm으로 설치합니다.

문제는 npm이 기본적으로 프로그램을 /usr/local/lib 같은 시스템 폴더(컴퓨터의 핵심 영역)에 설치하려고 한다는 점입니다. 이런 곳은 운영체제가 "여긴 함부로 못 건드려"라고 막아두기 때문에, 일반 사용자 권한으로는 쓰기가 안 됩니다.

화면에 자주 뜨는 메시지는 다음과 같습니다.

npm error code EACCES
npm error syscall mkdir
npm error path /usr/local/lib/node_modules/@anthropic-ai
npm error errno -13
npm error Error: EACCES: permission denied

여기서 EACCES는 "Access(접근) 거부"의 줄임말입니다. 즉 "이 폴더에 쓸 권한이 없다"는 뜻이죠.

운영체제 자주 막히는 폴더 주요 원인
macOS /usr/local/lib/node_modules 시스템 보호 + 관리자 권한 필요
Windows (일반) C:\Program Files\nodejs 관리자 권한 부족
WSL/Ubuntu /usr/lib/node_modules sudo 없이 글로벌 설치 시도

해보기 전에 한 가지 — sudo는 마지막 카드

해결법을 검색하면 가장 먼저 나오는 게 sudo npm install -g …입니다. 결론: 가능하면 쓰지 마세요.

sudo는 "관리자 권한으로 강제 실행"이라는 뜻인데, 이걸로 설치하면 당장은 되지만 나중에 업데이트하거나 다른 패키지를 깔 때 또 권한 문제가 생기고, 보안상으로도 권장되지 않습니다.

Anthropic 공식 문서도 sudo 사용을 권장하지 않습니다(글 작성 시점 기준). 그래서 아래 방법은 안전한 순서대로 정리했습니다.

1순위: nvm 사용 (맥/리눅스/WSL)
2순위: npm prefix 변경
3순위: 공식 인스톨러 사용
4순위: 폴더 소유권 변경
5순위: sudo (최후의 수단)

방법 1 — nvm으로 Node.js를 사용자 폴더에 다시 까는 법 (맥·WSL 강추)

가장 권장하는 방법입니다. 한 번 세팅하면 권한 문제가 거의 사라집니다.

nvm(Node Version Manager)은 Node.js 자체를 사용자 폴더 안에 깔아주는 도구입니다. 시스템 폴더가 아니라 내 홈 폴더에 설치되니, 권한 문제가 원천적으로 안 생깁니다.

터미널(검은 화면에 명령어를 입력하는 프로그램, 맥은 "터미널" 앱, 윈도우는 WSL의 Ubuntu 창)을 열고 다음을 차례로 입력합니다.

curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.7/install.sh | bash

이 명령은 nvm 설치 스크립트를 인터넷에서 받아와 실행한다는 뜻입니다.

설치가 끝나면 터미널을 완전히 닫았다 다시 열어야 합니다. 이걸 안 하면 다음 명령에서 "command not found"가 뜹니다(저도 처음에 이 부분에서 한참 막혔습니다).

새 터미널에서 이어서 입력합니다.

nvm install 20
nvm use 20
npm install -g @anthropic-ai/claude-code

첫 줄은 Node.js 20 버전을 깔고, 두 번째 줄은 그걸 사용한다는 뜻이고, 마지막이 Claude Code 설치 명령입니다.

이렇게 깔면 99% 권한 오류가 사라집니다. 글로벌 설치(-g)도 sudo 없이 됩니다.

방법 2 — npm 글로벌 폴더를 내 홈 폴더로 바꾸기

nvm 설치가 부담스럽다면 차선책입니다. npm에게 "앞으로는 시스템 폴더 말고 내 홈 폴더에 깔아줘"라고 알려주는 방법입니다.

mkdir ~/.npm-global
npm config set prefix '~/.npm-global'

첫 줄은 홈 폴더 안에 .npm-global이라는 새 폴더를 만들고, 두 번째 줄은 npm에게 "앞으로 글로벌 패키지는 여기에 깔아"라고 설정한다는 뜻입니다.

그 다음 이 폴더를 터미널이 인식하도록 PATH(컴퓨터가 명령어를 찾는 경로 목록)에 추가해줍니다. 맥/리눅스 기준입니다.

echo 'export PATH=~/.npm-global/bin:$PATH' >> ~/.zshrc
source ~/.zshrc

~/.zshrc는 터미널의 설정 파일입니다. 맥의 기본 터미널은 zsh를 쓰니 이걸 쓰면 되고, 만약 bash를 쓰는 환경이라면 ~/.bashrc로 바꾸세요.

이제 다시 깔아봅니다.

npm install -g @anthropic-ai/claude-code

권한 오류 없이 통과되면 성공입니다.

방법 3 — 윈도우라면 WSL 안에서 설치하기

윈도우 사용자라면 WSL 환경에서 깔기를 권합니다.

WSL(Windows Subsystem for Linux)은 윈도우 안에서 리눅스(맥과 비슷한 운영체제)를 돌릴 수 있게 해주는 기능입니다. Claude Code 같은 개발자용 도구는 윈도우 cmd 창보다 WSL에서 훨씬 안정적으로 동작합니다.

설치 순서는 다음과 같습니다.

  • [ ] PowerShell을 관리자 권한으로 열기 (시작 버튼에 PowerShell 검색 → 우클릭 → 관리자로 실행)
  • [ ] wsl --install 입력 후 Enter
  • [ ] 컴퓨터 재시작
  • [ ] 시작 메뉴에서 "Ubuntu" 실행, 사용자명·비밀번호 설정
  • [ ] Ubuntu 창 안에서 위의 방법 1(nvm) 그대로 따라하기
💡 비밀번호 입력할 때 화면에 아무 글자도 안 뜹니다. 보안상 일부러 그런 거니, 그냥 타이핑하고 Enter 누르면 됩니다.

이 방법이 윈도우에서 가장 깔끔하게 동작했습니다. cmd나 PowerShell에서 직접 깔려고 시도하다 권한·경로 문제로 시간 낭비하는 것보다 훨씬 빠릅니다.

방법 4 — 폴더 소유권을 내 계정으로 바꾸기 (맥)

이미 npm을 쓰고 있고 위 방법으로 환경을 바꾸기 싫다면, 문제의 폴더 소유권을 내 계정으로 변경하는 방법이 있습니다.

sudo chown -R $(whoami) $(npm config get prefix)/{lib/node_modules,bin,share}

명령어가 길어 보이지만 풀이하면 단순합니다.

  • chown: change owner, "소유자 바꿔라"
  • -R: 하위 폴더까지 다 적용
  • $(whoami): 현재 로그인한 내 계정명을 자동으로 넣어줌
  • 뒤쪽: npm이 패키지를 까는 폴더들

실행하면 비밀번호를 묻습니다. 맥 로그인 비밀번호를 입력하면 됩니다(이때도 화면에 안 보입니다).

이후 다시 설치하면 됩니다.

npm install -g @anthropic-ai/claude-code

다만 이 방법은 시스템 폴더의 소유권을 건드리기 때문에, 다른 사용자 계정과 컴퓨터를 공유한다면 추천하지 않습니다.

방법 5 — 공식 인스톨러로 한 번에 끝내기

Anthropic은 npm 없이도 깔 수 있는 인스톨러를 제공합니다(공식 문서 기준).

curl -fsSL https://claude.ai/install.sh | bash

이 한 줄이 Node.js 환경 설정과 Claude Code 설치를 자동으로 처리합니다. 권한 문제도 알아서 우회합니다.

직접 써보니 1~2분 안에 끝나서 가장 빠른 방법이긴 합니다. 다만 외부 스크립트를 인터넷에서 바로 받아 실행하는 방식이라, 보안에 민감하다면 nvm 방식(방법 1)이 더 투명합니다.

자주 막히는 부분과 해결법

직접 설치하면서 만난, 그리고 커뮤니티에서도 자주 보이는 막힘 포인트를 모았습니다.

증상 원인 해결
command not found: claude PATH 설정이 안 됨 터미널 재시작 또는 source ~/.zshrc
command not found: nvm 터미널을 안 닫고 바로 시도 터미널 완전히 닫고 새로 열기
설치는 됐는데 실행 시 또 EACCES 캐시 폴더 권한 문제 sudo chown -R $(whoami) ~/.npm
Node.js 버전 너무 낮음 18 미만은 미지원 node -v로 확인 후 nvm으로 20 설치
윈도우 cmd에서 먹통 환경 자체가 안 맞음 WSL로 이동

특히 터미널을 새로 안 여는 실수가 정말 흔합니다. nvm이나 PATH 설정은 터미널을 다시 열어야 적용됩니다. 같은 창에서 계속 시도하면 영원히 안 됩니다.

설치 성공 여부는 다음 명령으로 확인합니다.

claude --version

버전 번호가 출력되면 끝입니다.

어떤 방법을 골라야 하나

상황별 추천을 표로 정리했습니다.

사용자 추천 방법
맥 + 처음 설치 방법 1 (nvm)
맥 + 이미 Node.js 설치됨 방법 2 (prefix 변경)
윈도우 사용자 방법 3 (WSL) → 그 안에서 방법 1
빠르게 끝내고 싶음 방법 5 (공식 인스톨러)
회사 노트북·공용 PC 방법 1 또는 5 (sudo 안 쓰는 쪽)

저는 개인 맥에서는 nvm + Claude Code 조합을 쓰고, 윈도우 노트북에서는 WSL 안에 nvm을 깐 뒤 그 위에 Claude Code를 올려서 씁니다. 두 환경 다 권한 오류 없이 안정적이었습니다.

마무리

권한 오류는 Claude Code의 문제가 아니라 npm이 시스템 폴더에 쓰려고 해서 생기는, 거의 모든 npm 도구에서 똑같이 만나는 흔한 벽입니다. 한 번만 환경을 제대로 잡아두면 앞으로 다른 AI 도구를 깔 때도 같은 방식으로 술술 깔립니다.

비개발자라면 맥은 방법 1(nvm), 윈도우는 방법 3(WSL) → nvm 조합부터 시도해보세요. 30분 정도면 끝나고, 한 번 세팅한 환경은 오래 갑니다.

설치까지 마쳤다면, 다음 단계는 첫 명령어를 실제로 쳐보면서 Claude Code가 내 폴더의 코드를 어떻게 읽고 수정하는지 감을 잡는 일입니다. 빈 폴더 하나 만들어서 claude를 실행해보고, "이 폴더에 간단한 메모 앱을 만들어줘" 같은 요청부터 던져보면 분위기가 바로 잡힙니다.

함께 보면 좋은 글

반응형