본문 바로가기
Programming

Javascript Runtime 환경 구성하기 NVM node.js 우분투 설치

by 하하호호 2022. 4. 30.
반응형

런타임(Runtime)이란 프로그래밍 언어거 구동되는 환경이라고 할 수 있습니다. 특히 Javascript 런타임 환경은 지금 우리가 사용하고 있는 크롬, 사파리 브라우저 입니다. 하지만 Node.js가 출시되고 난 이후 Javascript 런타임 환경은 브라우저를 벗어나 데스크탑에서 실행 될 수 있습니다.

 

NVM, Node.js 설치

Javascript Runtime 환경을 구성하기 위해서는 Node.js를 설치해야 합니다. nvm을 설치하면 node.js의 다양한 버전을 관리하고 설치 및 사용할 수 있습니다.

 

nvm은 아래 명령어로 터미널에서 실행합니다.

$ wget -qO- https://raw.githubusercontent.com/nvm-sh/nvm/v0.37.2/install.sh | bash

 

만약 wget 이 설치되어 있지 않다면 미리 설치를 진행해줍니다.

$ sudo apt update
$ sudo apt install wget

 

이제 터미널을 종료하고 다시 실행하면 nvm 설치가 완료 된 것을 확인할 수 있습니다. 설치를 확인하기 위해 nvm 버전을 확인해봅니다.

$ nvm --version

 

nvm을 이용해서 javascript 런타임 환경인 node.js를 설치할 수 있습니다. node.js 공식 사이트에서 LTS(Long-Term Support) 버전을 설치 합니다.

$ nvm install --lts

 

마찬 가지로 정상적으로 설치된 것을 확인하기 위해 버전을 확인해봅니다.

$ node -v

 

 

NVM 버전 관리

프로젝트를 진행하다 보면 다양한 버전의 Node.js 를 만날 수 있습니다. 이전 버전에서 작성된 프로그램은 정상적으로 작동하지만, 이후 버전에서 에러가 나는 경우가 심심치 않게 발생하고 있습니다. 이 문제를 해결하기 위해 NVM 버전 관리를 사용합니다.

 

아래 명령을 통해 현재 nvm을 통해 설치된 node.js의 버전들을 확인할 수 있습니다. 

$ nvm ls

 

만약 특정 버전의 Node.js를 설치하고자 할 때는 버전 명을 명시해줍니다.

$ nvm install 12.18.3

 

이제 특정 버전의 Node.js를 사용하고자 할 때는 다른 버전을 사용하는 명령어가 필요합니다.

$ nvm use "버전 넘버"

 

 

package.json

프로그래밍 세계에서 격언 중 "바퀴를 재발명 하지 마라"는 말이 있습니다. 우리가 프로그램을 개발할 때 밑 바닥에서 부터 모든 것을 개발할 필요가 없다는 뜻입니다. 시간도 많이 걸릴 뿐더러 우리가 개발한 프로그램의 안전성을 보장할 수 없기 때문입니다. 

 

 

Node.js 런타임 환경에서 남들이 만들어 놓은 모듈이 npm 모듈(Node Package Manager)이라고 합니다. 이 정보가 모아져 저장된 곳이 바로 package.json 파일 입니다. 우분투 환경에서 apt 패키지 매니저가 있듯, Node.js 런타임 환경에서는 npm 패키지 매니저가 존재합니다. 

 

package.json에는 프로젝트에 관한 정보와 CLI에서 사용가능한 명령, 그리고 개발과 관련된 dependencies를 정리해 놓았습니다. 프로그램을 실행하기 위해서는 node_modules 디렉토리를 참조해야 하지만, package.json에는 이러한 프로그램들의 정보가 기재되어 있습니다.

 

package.json에 포함된 dependency는 프로그램이 실행되기 위해 필요한 의존성 들입니다. {모듈 이름 : 버전} 형식으로 구성되어 있으며, (--save-dev) 옵션으로 자동으로 dependency추가가 가능합니다. 예를 들어 react를 설치한다고 하면 아래 명령어로 자동으로 dependency 추가가 가능합니다.

 

$ npm install --save react

 

npm script

CLI 환경에서 사용가능한 명령을 모아둔 부분입니다. 

 

작업내용 스크립트
node.js 앱 실행 npm run start
Test 실행 npm run test
코드 검사 npm run lint

 

다른 개발자들과 협업하는 과정에서 내가 만든 프로그램에 필요한 모듈들을 package.json에 기재함으로써 보다 원할한 코업이 가능하게 됩니다. 

반응형

댓글