dev.syw
npm · 패키지

npm EACCES: permission denied 해결

npm ERR! code EACCES — permission denied

#npm#EACCES#권한#전역설치

증상

전역 설치(npm install -g) 중 권한 오류로 멈춥니다.

npm ERR! code EACCES
npm ERR! syscall mkdir
npm ERR! path /usr/local/lib/node_modules/...
npm ERR! errno -13

원인

npm이 쓰려는 디렉터리(/usr/local/...)에 현재 사용자의 쓰기 권한이 없습니다. macOS/Linux에서 시스템 경로에 전역 설치할 때 흔합니다.

해결

1) (권장) 전역 설치 경로를 홈 디렉터리로 변경

sudo 없이 안전하게 해결하는 방법입니다.

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

그리고 셸 설정(~/.zshrc 또는 ~/.bashrc)에 PATH 추가:

export PATH=~/.npm-global/bin:$PATH
source ~/.zshrc   # 적용

2) 버전 매니저 사용 (가장 깔끔)

nvm 등으로 Node를 사용자 홈에 설치하면 전역 권한 문제가 사라집니다.

nvm install --lts

3) 캐시 권한 문제라면

sudo chown -R $(whoami) ~/.npm

⚠️ sudo npm install -g는 당장은 되지만 권한이 꼬여 더 큰 문제를 부릅니다. 가능하면 prefix 변경이나 nvm으로 해결하세요. Windows에서는 보통 이 오류가 없고, 발생 시 관리자 권한 터미널로 실행합니다.

← 에러 해결 모음으로 돌아가기