티스토리 뷰

현재 M1 실리콘 (ARM) 사용 중이고, 여기에 ubuntu docker를 돌려서 remote container로 node를 개발 중에 있다.

근데 얼마전 까지 잘 되던게, 특히 npm install -g 하면 계속 해서 permission denied 에러가 난다.

EACCESS: permission denied
npm ERR! spawn ENOENT
npm ERR! code ELIFECYCLE
sh: 1: node: Permission denied

등등 package-lock.json과 node_modules 디렉토리를 지우고 아무리 다시 시도해도 계속해서 이런류의 에러가 발생한다.

아니 나는 docker로 돌리고 있고 user는 당연히 sudo (root) 인데 왜 자꾸 permission denied 에러가 나는걸까?

우선 해결 방법은 찾았다.

npm install --unsafe-perm 을 통해서 설치하면 된다.

또는

npm config set unsafe-perm true

를 입력한 후 설치해도 된다. 아래의 명령어를 입력하면 .npmrc 파일에 unsafe-perm=true 가 입력 된다.

unsafe-perm은 패키지 스크립트 실행 시 UID / GID 전환을 제한하는 플래그라고 한다. unsafe-perm을 true로 하면 permission denied 에러 나는 패키지 설치시 자동으로 sudo를 통해 설치를 진행한다고 한다.

재밌는건... 난 이미 root 인데 ㅡ.ㅡ;;

아무래도 npm이 꼬였거나.. m1 실리콘 칩으로 인한 호환성 문제 때문에 발생하는게 아닌가 싶다.

댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
«   2024/06   »
1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30
글 보관함