loading
본문 바로가기
ERROR CHECK/Front-end

[vscode] M1에서 code path 퍼미션에러(쉘에서 코드열기 명령실패)

by pikiforyou 2024. 1. 8.

 

에러코드

EACCES: permission denied, unlink '/usr/local/bin/code'

 


 

원인

원래 인텔기반 맥북이었는데, M1 으로 바꾸고(인텔(x86)과 M칩(arm64)은 작동이 다르다)

다시 vscode를 설치하는 과정에서 에러가 발생했다. vscode(visual studio code)에서 바로 파일을 열어도 되지만, 터미널에서 코드를 바로 열고싶을때가 있다. 원래는 command + shift + p 를 누른후, PATH설정 (Shell Command: Install ‘code’ command in PATH) 을 하면, 터미널창에서 code .  를 쓰는것만으로도 열릴수있게된다. 하지만 바로 에러가 떠버렸고... 검색결과 M1칩셋이 들어간 맥북에서 꽤나 많이 뜨는 오류인듯하다. 

 

 

 

해결방법

대부분의 블로그에서는 문제가 발생했던 '/usr/local/bin/code' 경로를 터미널로 직접 들어가 sudo 권한으로 삭제하고, 다시 설치하는 방법을 쓰는듯하다. 하지만 사실 여러 방법이 있다. 참고로 내 추천은 3번이다. sudo를 남용하는건 좋지않고, 특히  rm -rf 는 초보자일수록 좀만 삐끗하면 잘못된 완전 삭제로 패닉이 올수있기때문에(...) 차라리 삭제할거라면, vscode에서 삭제후 설치하는걸 권한다.

히히히 괜히 이런 짤이 있는게 아니야

 

3번을 권하는 이유는, 1,2번을 통해 삭제후 재설치시 대부분 문제가 해결되지만, 맥을 재시동시 다시 같은 문제가 발생된다는 오류 보고를 봤기때문이다. 이 경우 에러명이 permission denied 이니까... 에러에 뜬 항목처럼 permission 에러를 해결해주는게 더 근본적인 방법이라 생각했기 때문이다. 

 

 

1) 터미널에서 삭제후 설치하기

sudo rm -rf /usr/local/bin/code

 

root 권한을 취득후, 해당 디렉토리에 있는 code를 삭제하는 명령어이다. 이후 vscode로 돌아가, 다시 PATH설정하는 방식을 진행한다

 

 

2) 터미널까지 갈것없이 그냥 vscode에서 바로 삭제후 설치하기

네번째에 있는  uninstall 'code' command from PATH 를 먼저 누른후, 다시 원래해야하는  install 'code' command in PATH 를 눌러준다. 

 

 

3) 파일소유자 권한 변경

sudo chown -R {yourUsername} /usr/local/bin
sudo chown -R codingsquirrel /usr/local/bin

 

-R 옵션은 하위 디렉토리까지 영향을 준다. 따라서 문제가 되었던 폴더의 소유자를 유저로 변경한다.  yourUsername 부분에 자신의 계정명(관리자명, 내 컴퓨터명)을 적으면 된다. 그리고 나서 다시   install 'code' command in PATH 하면 완료

 

 

 

발생당시 의존성

M1 Pro

ventura 13.5.2

 

 

참고 사이트

스택오버플로우 : https://stackoverflow.com/questions/69004740/vs-code-denied-permission-unlink-usr-local-bin-code

 

VS Code Denied Permission unlink 'usr/local/bin/code'

I can add the "shell command install 'code' command". Testing it works, but if i close out of the VS Code or after a couple of hours of adding the command it doesn't work. Terminal says &...

stackoverflow.com

리눅스 명령어 권한과 퍼미션에 대한 글중 정리가 잘되어있다 : https://conory.com/blog/19194

 

[기본] 리눅스의 퍼미션(권한)을 조정하기 (chmod, chown)

리눅스는 여러사용자가 들어와 사용하는 멀티유저 시스템입니다.. 그런데 한가지 문제가 발생합니다. 여러 사용자가 들어오면 서버에 올려진 비밀자료 열람과 그것을 변조,수정,삭제를 할 우려

conory.com

 


- 궁금한 점 / 수정 요청사항 등은 언제든 댓글 달아주세요 :)

- 도움이 되셨다면 ❤️ 하트 한 번 눌러주세요! 감사합니다 ! 

'ERROR CHECK > Front-end' 카테고리의 다른 글

[node / Express] 템플릿과 html 관한 오류  (3) 2020.03.03

댓글