처음 코딩을 시작하고 강의를 보면서 npm으로 어떤 패키지를 설치할때 '에러가 뜨면 명령어 앞에 sudo를 입력해 주세요'라는 말을 많이 들어왔다.
처음에는 강제설치같은 명령어인줄 알았는데 그게 아니였다.
sudo
는 superuser do, 혹은 substitute user do의 줄임말이다. 위키백과에 의하면 이는 유닉스 및 유닉스 계열 운영체제에서 쓰이는 명령어이고, 주로 우분투, 리눅스, 그리고 맥에서 볼 수 있다고 한다. - 위키백과
superuser는 관리자 또는 Root사용자를 의미한다. 맥에서 사용자 및 그룹을 보면 관리자와 다른 사용자 등등을 볼 수 있는데 여기서 내가 관리자가 아닌 상태에서 sudo 명령어를 입력하려고 하면 에러가 뜰 것이다.
관리자가 아닌 다른 사용자로 로그인 한 상태에서 관리자 권한이 필요하다면 먼저 터미널에 su 관리자 이름을 입력해야 한다.
예) $ su myMac
그래서 sudo라는 것은 관리자 권한을 부여해서 명령어를 실행하겠다는 명령어이다. npm으로 패키지를 설치하려고 할 때 에러가 난다면 sudo를 입력해서 '관리자 권한으로 실행'해야 한다.
아이폰에서 앱을 받을 때 비밀번호를 요구하듯이 sudo
를 입력하면 Password가 뜨는데 여기에 사용자암호를 입력해야 하며 실제 암호를 입력할 때는 화면에 표시되진 않는다.
애플 공식 홈페이지에 나와있는 sudo에 관한 터미널 사용법이다.→ https://support.apple.com/ko-kr/guide/terminal/apd5b0b6259-a7d4-4435-947d-0dff528912ba/mac