에러코드
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
리눅스 명령어 권한과 퍼미션에 대한 글중 정리가 잘되어있다 : https://conory.com/blog/19194
- 궁금한 점 / 수정 요청사항 등은 언제든 댓글 달아주세요 :)
- 도움이 되셨다면 ❤️ 하트 한 번 눌러주세요! 감사합니다 !
'ERROR CHECK > Front-end' 카테고리의 다른 글
[node / Express] 템플릿과 html 관한 오류 (3) | 2020.03.03 |
---|
댓글