본문 바로가기

Coding/TIL (Today I Learned)

Javascript runtime, Node.js, NVM

JavaScript runtime 

런타임이란 프로그래밍 언어가 구동되는 환경. 즉 어떤 프로그래밍 언어가 동작할 수 있는 프로그램.

작성한 자바스크립트 코드가 실행되는 곳이 바로 자바스크립트 런타임.

대표적인 자바스크립트 런타임은 브라우저, Node.js 가 있다.

Node.js

Node.js는 크롬 V8 자바스크립트 엔진으로 빌드된 자바스크립트 런타임.

이벤트 기반, 논블로킹I/O 모델을 사용해 가볍고 효율적 이라고.

이벤트 기반이란 이벤트가 발생할 때 미리 지정해둔 작업을 수행하는 방식.

블로킹과 논블로킹은 쉽게 말해 동기와 블로킹이 유사하고, 비동기와 논블로킹이 유사한 개념.

NVM 설치

NVM은 Node Version Manager.

Node는 다양한 버전이 존재하고, 그 버전들에 대응하기 위해 버전 별 테스트가 필요하다.

매번 버전을 설치하고 지우는 작업을 간편하게 할 수 있는 하나의 프로그램.

NVM을 먼저 설치한 후 NVM을 이용해 Node.js를 버전별로 인스톨 했다.

 

1. NVM설치 : 터미널을 실행 후 다음 순서대로 명령어 입력

$ touch ~/.bash_profile 
$ curl -o- https://raw.githubusercontent.com/creationix/nvm/v0.32.1/install.sh | bash
$ nvm --version // nvm 설치 버전 확인

 

2. NVM에서 Node 설치

$ nvm install 10.13.0  //Node.js 필요 버전 설치
$ node -v  //Node 버전 확인

 

3. Node 버전 변경하기

$ nvm use (사용하고 싶은 Node version : use 명령어 전에 해당 node version이 설치되어있어야 합니다.)
ex) nvm use 12.13.0

 

알게된 점

개념을 이해하고 위의 순서대로 랩탑과 아이맥에 설치를했는데 랩탑에서는 위의 예제와 터미널의 경로가 다르게 나타났다. bash가 아니라 zsh. 용어가 낯설어 찾아보니,

 

- Bash : 명령어를 해석하고 실행하는 인터프리터 어플리케이션의 한가지.
- 터미널 : 어플리케이션과 유저 사이의 입출력을 상호 전달해주는 소프트웨어.

 

macOS Catalina 부터는 기본 shell이 zsh로 변경됐다고 한다. 

랩탑과 아이맥의 버전이 달라서 차이가 났던 것. 랩탑도 업데이트 완료. 아직 모르는게 많다.

 

 

레퍼런스 : 

http://nvm_quick_start.md/