macOS에서 npm으로 글로벌 영역에 패키지를 설치하다가 EACCESS 같은 에러를 만나면 대부분 권한 문제이다. npm이 패키지를 설치 할 폴더에 쓰기 권한이 없기 때문에 발생하게 된다. 이 문제는 다음과 같이 해결 할 수 있다.

  • npm 기본 디렉토리의 권한을 변경한다.
  • npm 기본 디렉토리의 위치를 변경한다.
  • 기존 node.js를 지우고Homebrew와 같은 패키지 매니저를 통해 node.js를 재설치한다.

npm 기본 디렉토리를 굳이 옮길 필요도 없고, 난 brew 같은 패키지 매니저를 별로 좋아하지 않기 때문에 첫번째 옵션으로 해결했다. (node.js 같은 경우, 공식 사이트에서 설치 파일을 제공하기 때문에 굳이 brew를 이용 할 필요는 없다. brew로 설치하면 별 다른 점은 없지만, 나중에 내가 설치한 node.jsbrew로 통해 설치했는지, 수동으로 설치했는지 기억이 안 나는 경우가 많아서…)

npm 기본 디렉토리 권한 변경

  1. 먼저 npm이 설치 된 디렉토리의 경로를 알아야 한다.

    npm config get prefix
    

    node.js를 처음 설치 할 때, 경로를 바꾸지 않았더라면 대부분 /usr/local일 것이다.

  2. 1번에서 반환되는 경로에 해당되는 디렉토리의 권한을 변경한다.

    sudo chown -R <username> <npm_default_path>/{lib/node_modules,bin,share}
    // 예제
    sudo chown -R jhlee /usr/local/{lib/node_modules,bin,share}
    

다른 방법으로 해결하고 싶다면

Fixing npm permissions 링크를 참고하도록 한다.

저작자 표시
신고

WRITTEN BY
Profile
음주코딩
:D

받은 트랙백이 없고 , 댓글이 없습니다.

트랙백을 보내세요

트랙백 주소 :: http://warmz.tistory.com/trackback/991 관련글 쓰기
secret