IT, 개발

맥북 sudo 권한 npm 패키지 errno -13 EACCES: permission deneid

  • -
반응형

npm errno -13 EACCES: permission deneid

맥북을 이용하고 있다면 npm 패키지를 설치하거나 실행할 때 위와 같은 에러 코드(npm errno -13 EACCES: permission deneid)가 뜨는 경우가 있다.

이럴 경우 항상 앞에 sudo 를 붙여야하는데, 이럴 경우 여러모로 불편한 사항이 많이 발생한다.  해당 에러는 현재 설치된 node_modules 가 관리자 권한이 없어서 항상 sudo 명령어를 실행해야한다. 이를 해결하는 3가지 방법을  알아보자.

 

1. chown 리눅스 명령어를 이용하여 파일 및 디렉토리를 소유권을 변경하는 방법

 

(node_modules 경로 확인 명령어)

npm config get prefix

 

(필자의 node_modules 설치된 경로)

/Users/사용자/.npm-global 

 

(node_modules를 관리자 권한으로 변경)

sudo chown -R $(whoami)  /Users/사용자/.npm-global 

 

 

2. --unsafe-perm 명령어를 함께 쓴다.

 

sudo npm install -g [package-name] --unsafe-perm

 

 

3. 혹시 다른 프로젝트는 괜찮은데, 일부 프로젝트만 해당 에러가 발생하는 경우 (해당 프로젝트 node_modules 을 sudo npm install 로 설치하여 문제가 생긴 경우다)

 

필자의 경우 바보같이 3번처럼 에러나는 프로젝트 node_modules 를 sudo 명령어와 함께 설치하여 이후에도 항상 sudo 명령어와 함께 실행해주었는데 이는 보안상으로 굉장히 위험한 일이기 때문에, 프로젝트 자체를 다시 지우고 재설치(clone)을 하여 다시 node_modules을 sudo 명령어 없이 그냥 npm install 해주었다.

 

ㄱ. 프로젝트 삭제

ㄴ. 다시 프로젝트 git clone

ㄷ. sudo 명령어 없이 npm install

반응형
Contents

포스팅 주소를 복사했습니다

이 글이 도움이 되었다면 공감 부탁드립니다.