학습 목표
- nvm, Node.js, npm을 설치하고, 버전을 확인할 수 있다.
- 명령어 node를 이용해 JavaScript 파일을 Node.js - 런타임에서 실행할 수 있다.
- 과제 시작 전 package.json 파일을 확인하고, npm install을 사용할 수 있다.
프로그래밍 언어가 구동되는 환경, 즉 어떤 프로그램이 동작할 때, 프로그램이 동작하는 곳을 런타임이라고 함
크롬, 사파리와 같은 웹 브라우저가 대표적인 JavaScript 런타임
Node.js는 웹 브라우저가 아닌 곳에서도 JavaScript를 실행될 수 있게 하는 프로그램
JavaScript를 통해 웹 페이지를 구성하는 것을 넘어 서버를 구축하는 등 활용하게 됨
Node.js에서 JavaScript를 실행시키기 위해서는, 당연히 Node.js를 설치해야 함
별도의 프로그램으로 설치할 수도 있지만, 패키지 매니저처럼 node.js의 버전을 관리할 수 있도록 nvm(Node Version Manager)으로 Node.js를 설치
nvm을 사용하면 Node.js의 다양한 버전을 쉽게 설치하고, 사용할 수 있음
nvm은 Node.js의 다양한 버전을 관리하는 프로그램
윈도우 환경에서는 nvm을 사용할 수 없음!!
아래 명령어를 터미널에 입력
wget -qO- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.3/install.sh | bash
# macOS
brew update
brew install wget
nvm 설치를 마쳤다면, 터미널을 다시 시작
터미널을 다시 시작한 이후, 다음 명령어를 이용하여 nvm 버전을 확인
nvm --version
버전이 잘 나온다면, NVM 설치를 성공
nvm으로설치하려는 Node.js 버전을 적음
버전은 Node.js 공식 사이트에 LTS라고 적힌 버전을 기준으로 설치
nvm install --lts
성공적으로 Node.js가 설치되었으면 Node.js 버전을 확인
node -v
터미널에 버전 정보가 출력되면, Node.js를 성공적으로 설치
텍스트 에디터 nano를 이용해 새로운 파일을 생성하고, 다음 코드를 입력
# helloWorld.js라는 이름의 파일을 텍스트 에디터 nano로 엽니다.
nano helloWorld.js
// 이 코드를 생성한 파일에 입력하세요.
function helloWorld () {
console.log("Hello world!");
}
helloWorld();
Hello world를 출력하는 JavaScript 함수
위 코드를 입력했다면, ^X(Ctrl + x)를 눌러 편집을 종료
터미널 하단에 "Save modified buffer (ANSWERING "No" WILL DESTROY CHANGES) ?"라는 출력이 나타나면, y(Yes)를 누르고 Enter(엔터 키)를 눌러 파일에 변경사항을 저장
명령어를 입력하고 터미널의 출력을 확인하세요. Node.js 환경에서 JavaScript 파일을 실행할 때에는 명령어 node에 실행할 파일의 이름을 입력
# helloWorld.js 파일을 node 환경에서 실행합니다.
node helloWorld.js
nvm은 Node Version Manager
nvm을 통해 간단한 명령어로 Node.js를 설치하고, 다양한 Node.js version을 손쉽게 옮겨 다닐 수 있음
nvm 역시 하나의 프로그램이므로 설치해야 함
nvm을 설치하고 아래 명령어를 입력
nvm ls
현재 nvm을 통해 설치한 Node.js version들이 나옴
특정 버전의 Node.js를 설치하고 싶으면 다음과 같이 입력
nvm install 12.18.3
이미 설치된 버전을 삭제하지 않고, 원하는 Node.js version을 설치할 수 있음
사용 중인 Node.js version을 다른 버전으로 변경하고 싶을 때에는 아래의 명령어만 입력
nvm use 버전 넘버 # 예를 들어, nvm use 12.18.3, nvm use 14.15.5
nvm으로 Node.js의 버전을 관리하면, Node.js를 설치하고 version을 바꾸는 일이 편리
정리하면 nvm은 다양한 Node.js version를 설치하고 관리할 수 있는 프로그램
하나의 프로그램은 다양한 모듈이 합쳐져서 만들어짐
우리가 만든 것을 100% 신뢰하기 어렵기 때문에, 우리보다 잘하는 사람들이 이미 만들어놓은 검증된 코드(모듈)을 가져다가 사용
다른 사람이 만들어놓은 모듈을 node.js에서는 npm 모듈이라는 이름으로 부름
npm은 node.js 환경에서 외부 라이브러리를 다운로드 하기 위한 대표적인 것(일종의 앱스토어?)
package.json에는 프로그램을 실행시키기 위한 필요한 모듈들이 무엇인지, 프로그램을 실행시키는 방법, 프로그램을 테스트 하는 방법 등이 명시되어 있음
package.json이 주는 이점은 프로젝트의 코드를 전달할 때, 포함하고 있는 모듈을 다 전달하지 않아도 된다는 점