본문 바로가기

그 외/트러블 슈팅

권한 문제

나는 항상 npm , yarn 등이 설치가 안됐다.

꼭 sudo를 붙혀야 됐다.

"이게 단순히 맥의 버전이 높아짐에 따라 권한을 높게 줘야하는구나?"

라고 생각했는데

오늘은 세부폴더의 파일변경이 안되는 것이다?

 

ls -al을 쳐봤다.

색깔이 다 다른데 뭔지 모르겠더라.

drwxr-xr-x@ 이게 아마 읽기쓰기에 대한 권한으로 어렴풋이 알고 있는 상태였다.

나는 권한을 다 줬다고 생각했는데 , 왜 문제가 계속 생기는 걸까?

 

한 10분동안 가만히 생각해봤다.

아! 혹시 root,유저이름으로 생성한 게 문제였나?

 

알고보니 sudo로 프로젝트를 생성하면, root권한으로 생성 되는 것이었다!

terminal에 "whoami"를 찍어봤더니 shinminho가 나온다.

그렇다. 터미널을 쓰고 있는 나는 root가 아니다.

 

shinminho는 root보다 높을 수 없다.
따라서 tailwind-project라는 놈은 , 폴더 수정이 어려운게 맞았다.

 

npm 어쩌구~ yarn 어쩌구~ 설치하면 항상 이런 화면이 떴었다.

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

 

이 명령어는 sudo chown을 이용하여 , '.npm'디렉토리와 그 하위 파일들의 소유자를 현재 사용자로 변경하는 명령어다.

sudo : superuser do = 특수권한

chown : change owner = 파일이나 디렉토리의 소유자와 그룹을 변경

-R : recursive  = 지정한 디렉토리와 그 하위 디렉토리 및 파일들 모두에 대해 소유자와 그룹을 변경

`$(whoami)` : 현재 로그인된 사용자 이름을 반환 = shinminho

'~/npm' : 현재 사용자의  홈디렉토리에 있는 '.npm' 캐시 디렉토리를 가르킴 이 디렉토리는 npm 패키지의 캐시를 저장함.

 

 

이 명령어를 치니 sudo를 치지 않고도 npm 가능하게 되었다.