[Node.js] sudo npm에서 sudo의 의미, nvm의 의미

Jessie H·2022년 8월 13일
0

nodejs

목록 보기
1/2

Netlify 배포를 위해 npm으로 작업을 하다가 sudo를 처음으로 사용해보며 sudo의 의미에 대해 좀 더 알아보았다.

  • npm: node.js 기본 패키지 관리자

내가...권한이 없대....

netlify 사용 전 설치를 위해 터미널에npm install netlify-cli -g를 입력했는데 다음과 같은 오류가 발생했다.

일단 오류 내용을 읽어보니
The operation was rejected by your operating system.

운영 체제...네가 날 거부했어...?

It is likely you do not have the permissions to access this file as the current user.
현재 사용하고 있는 유저로서 이 파일에 대한 권한이 없는 것 같다. 아무래도 바닐라코딩 공용 컴퓨터니까...여기 딱히 로그인 되어있는게 없어서 그럴지도!

netlify 배포 방법을 드림코딩 리액트 강의를 보고 따라하고 있었다. 그래서 혹시나 토론 탭에서 나와 비슷한 경험을 한 사람이 있을 것 같아 들어갔더니 역시 있었다.
나처럼 권한 문제로 질문을 올렸던 분이 계셨는데 권한이 없었기 때문에 sudo를 붙이면 문제가 해결됐다고 했다.

일단 나도 그래서 sudo를 붙여
sudo npm install netlify-cli -g라고 했다. 그리고 비밀번호를 입력하라고 나오자 아이맥 시작 화면에서 로그인할 때 입력해야하는 사용자 비밀번호를 입력했더니 잘 설치가 되었다.


그래서 sudo가 뭔데?

그래서 시작된 궁금증...sudo가 그래서 뭘까?
일단 알파벳이긴 한데 발음에서 흔히 사람의 언어에서 쓰일 것 같지는 않고 CS용어의 냄새가 폴폴 나는데...
레딧의 한 유저가 설명한 답변으로 이해할 수 있었다.

출처: https://www.reddit.com/r/node/comments/2itrhe/can_someone_explain_sudo_to_me/

sudo란?

  • 권한을 높여서 무언가를 실행할 수 있게 해주는 것이다.
  • 현재 사용자(관리자 이외의 사용자)가 접근 권한이 없는 폴더에 설치 시도를 할 때 사용할 수 있다.

요렇게 이해를 했다.

조금 더 자세한 설명은 위키피디아에서 찾을 수 있다.

sudo 명령어는 유닉스 및 유닉스 계열 운영 체제에서, 다른 사용자의 보안 권한, 보통 슈퍼유저로서 프로그램을 구동할 수 있도록 하는 프로그램이다.
명칭은 본래 슈퍼유저로서의 실행에 사용되던 것에서 “superuser do”에서 유래하였으나,
후에 프로그램의 기능이 확장되며 “substitute user do”(다른 사용자의 권한으로 실행)의 줄임말로 해석되게 되었다.
기본적으로 sudo는 사용자 비밀번호를 요구하지만 루트 비밀번호(root password)가 필요할 수도 있고,
한 터미널에 한번만 입력하고 그 다음부터는 비밀번호가 필요 없다.
Sudo는 각 명령줄에 사용할 수 있으며 일부 상황에서는 관리자 권한을 위한 슈퍼유저 로그인(superuser login)을 완벽히 대신하며, 주로 우분투, 리눅스와 애플의 OS X에서 볼 수 있다

출처: 위키피디아 https://ko.wikipedia.org/wiki/Sudo

그리고 뒤에 나오는 NVM도 궁금해서 찾아보았다.

NVM(Node.js Version Manager)

단일 로컬 환경에서 node.js 버전을 쉽게 설치하고 관리를 편하게 해주는 것.
프로젝트에 따라 여러 node.js 버전으로 전환을 해야할 필요가 있을 때 쉽게 버전 변환이 가능하다.

출처: https://heynode.com/tutorial/install-nodejs-locally-nvm/




요건 나중에 백엔드 부분 공부할 때 보면 좋을 것 같아 미리 저장!

node.js의 장점 및 단점
https://www.liquidweb.com/kb/node-js-for-web-development/

profile
코딩 공부 기록장

0개의 댓글