TechFeedTechFeed
npm설정

npm EACCES 권한 거부 — permission denied (전역 설치)

npm error code EACCES / Error: EACCES: permission denied
한 줄 해결: 전역 설치 경로에 쓰기 권한이 없어 발생하며, sudo로 강제하기보다 npm 전역 경로를 사용자 디렉터리로 바꾸거나 nvm을 쓰는 것이 안전합니다.

이런 증상일 때

npm install -g 또는 전역 패키지 실행 시 EACCES permission denied가 납니다. 시스템 파이썬/노드 경로에 설치하려다 막히는 경우입니다.

원인

  • 전역 node_modules가 시스템 디렉터리(/usr/local 등)에 있어 일반 사용자가 못 씀
  • sudo로 설치했던 파일의 소유권이 root로 꼬임
  • Node를 시스템 패키지로 설치해 권한 경계가 엄격

해결 방법

1
nvm으로 Node 관리(권장)

nvm은 Node와 전역 패키지를 사용자 홈에 두어 권한 문제가 사라집니다.

curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.40.1/install.sh | bash
nvm install --lts
2
npm 전역 경로 변경

전역 prefix를 사용자 디렉터리로 바꿔 sudo 없이 설치합니다.

npm config set prefix ~/.npm-global
# PATH에 ~/.npm-global/bin 추가
3
sudo는 지양

sudo npm install -g는 권한을 더 꼬이게 만들 수 있어 권장하지 않습니다. 이미 꼬였다면 소유권을 복구합니다.

sudo chown -R $(whoami) ~/.npm
💡 예방: Node는 nvm으로 설치해 전역 패키지를 사용자 영역에 두면 EACCES를 근본적으로 피합니다.
npmEACCES권한nvm전역설치

관련 에러

관련 가이드

pnpm vs npm vs Yarn Berry 2026 — JavaScript 패키지 매니저 속도·디스크·워크스페이스 실전 비교Claude Code 가이드 #13 — Agent Teams 실전 가이드Claude Code 가이드 #17 — 보안 & 권한 관리클로드 코드 완전 자동화 #1 — 권한 질문 없이 실행하기