본문 바로가기
develop/etc

[NPM] permission denied error

by hyoE 2021. 9. 12.
반응형

 공부를 하기위해 사전 프로그램을 설치하는 것도 정말 큰 일이다 :) typescript를 설치하기 위해 고생했는데, 끝이 아니었다. typescript를 편하게 사용하기 위해 필수 프로그램인 ts-node설치도 안돼 해결방법을 열심히 찾은 후 정리한다.

 

 

 에러내용을 살펴보니 설치 경로에 대한 권한이 없다고 한다. 원인은 여러가지가 있겠지만 npm, brew, node 같은 경우 'sudo'로 설치하면 발생한다고 한다. 

 

 해결 방법은 2가지가 있다고 한다.

 

  1. root 되어있는 디렉토리 권한을 모든 User 그룹의 권한으로 변경.
  2. npm install -g 로 설치되는 디렉토리 경로를 자신의 home directory로 변경.

 

그 중에 실행한 방법은 2번

 

첫 번째,

mkdir ~/.npm-global  (설치되어 있을 확률이 있다)

 

두 번째,

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

 

세 번째,

vi ~/.profile (접속 후)

export PATH=~/.npm-global/bin:$PATH (npm-global파일에 library path설정 추가 후 :wq로 나온다)

 

네 번째, 

source ~/.profile

 

다섯 번째, ( 네 번째 까지 해도 안되는 경우)

sudo chown -R $USER:$GROUP ~/.npm ( default directory 권한을 다시 변경 한다. sudo 꼭 붙이기)

*USER는 whoami 명령어로 찾을 수 있다

 

🧚🏻‍♀️ sudo의 뜻이 궁금해 찾아보니 superuser do라는. 뜻에서 substitute user do로 바꿔 사용하고 있다고 한다. 즉 다른 사용자의 권한      으로 실행.

 

반응형

댓글