Node.js 설치하고 시작하기

Hazel_Song·2020년 9월 29일
0

WEB BASIC

목록 보기
1/6

기술 블로그를 정리하면서, 초심자의 마음으로 Node.js 설치 및 기본 세팅부터 다시 개념을 정리하고
복습해보고자 한다!
나는 맥북을 사용해서 개발을 하므로 OS 환경 기준임을 미리 말해둔다.

Node.js 설치

javascript(이하 자바스크립트)를 배우고자 한다. 그런데 무작정 에디터를 설치하고 코드를 작성하면 될까? 자바스크립트 뿐 아니라 사용하고자 하는 언어를 위한 환경을 셋팅해야 할 것이다.

런타임이란?

여기서 잠깐 런타임이란 용어에 대해서 이해하고 넘어가면 좋을듯하다.
런타임이란 프로그래밍 언어가 구동되는 환경이다. 즉 자바스크립트를 적고 코드가 실행이 되는 곳이 런타임인 것이다.
그렇다면 자바스크립트를 사용하기 위해서는 이 코드가 실행되기위한 런타임들을 알아보고 필요하다면 추가로 설치해야 하는 것이다.
자바스크립트의 런타임은 브라우저가 대표적이다. 우리가 흔히 쓰는 웹사이트 말이다.
따라서 크롬을 키고 개발자도구에 들어가면 기본적인 코드는 콘솔창에서 입력하고 실행해 볼 수 있는 것이다. 기존에는 브라우저가 자바스크립트의 유일한 런타임이었다. 따라서 자바스크립트로는 웹페이지만 만들 수 있었다.
하지만 node.js가 새로운 자바스크립트의 런타임으로 등장하면서, 웹브라우저뿐 아니라 다른 프로그램도 만들 수 있게 된 것이다.

nvm을 통한 node.js 설치

node.js를 설치하는 방법은 다양하다. 그러나 NVM을 이용한 설치가 가장 효율적이다.
그 이유는 node.js도 하나의 프로그램이므로, 계속해서 버전이 향상되는데, 그 버전들에 맞춰서
일일이 설치하고 다시 지우고 하는 번거로운 과정이 필요하다.
이때 NVM 즉, node version manager를 사용한다면 다양한 node version을 손쉽게 옮겨다닐 수 있다. nvm 또한 하나의 프로그램으로 설치가 필요하다.

NVM 설치하기

  1. 터미널 창을 연다
  2. 아래의 명령어를 입력하기만 하면 nvm 설치가 완료된다.
    sudo curl -o- https://raw.githubusercontent.com/creationix/nvm/v0.33.1/install.sh | bash
  3. 그리고 아래의 명령어로 설치를 확인해보자.
    nvm ls

그런데 나는 -bash: nvm: command not found 해당 에러가 떠서 당황...
위의 에러가 뜬다면
1. 터미널에 해당 명령어를 입력하여 vi에디터를 켜준다. vi ~/.bash_profile
2. 아래의 코드가 있는지를 확인해준다. 없다면 추가!

export NVM_DIR="$HOME/.nvm" 
[ -s "$NVM_DIR/nvm.sh" ] && . "$NVM_DIR/nvm.sh" # This loads nvm
  1. 그리고 아래의 명령어를 터미널에 순서대로 입력해준다.
source ~/.bash_profile
nvm ls
  1. 아래의 메시지가 뜬다면 성공!
->       system
node -> stable (-> N/A) (default)
iojs -> N/A (default)

Node.js 설치하기

  1. nvm install 10.13.0 해당 명령어를 터미널 창에 입력하기만 하면 된다.
  2. 만약 다른 버전을 사용하고 싶다면
nvm use (사용하고 싶은 Node version : use 명령어 전에 해당 node version이 설치되어있어야 한다.)
ex) nvm use 12.13.0
  1. node 버전 확인하기
    node -v

package.json 확인하기

node.js를 설치하고 난 이후에, 프로그램을 만들면서 다양한 추가 기능들(모듈)을 설치하고 삭제하게 될 것이다.
기본적으로 혼자가 아닌 팀으로 프로젝트를 진행하는 경우가 많으므로 개인이 코드를 작성한 이후에, 이 코드 실행을 위해 어떠한 모듈이 필요한지 등등의 정보들을 전달해주어야 한다.
일일이 전달해야겠지만 node.js를 설치하면 설치되는 package.json 파일을 통해서 이 모든 것들을 확인 가능하다.
만약에 내가 코드를 작성하고 여러 모듈을 작성한 다음에, 팀원에게 해당 코드를 넘겨 준다면?
다운받은 모듈들도 다같이 넘어갈까?
이것 또한 아니다. package.json에 정보만 기재된 채로 넘어가게 된다.(모듈들까지 다같이 넘어간다면
전달될 때 시간이 엄청 오래 걸릴 것이다.)
코드를 전달받은 팀원은 package.json을 확인한 후, npm install 만 터미널에 입력해서 실행해준다면, 필요한 모듈들이 한꺼번에 설치된다.

npm이란?

node package manager로 말그대로 node의 다양한 패키지와 모듈들을 관리하는 일종의 앱스토어이다.
따라서 (앞으로 자주 사용하게 될것이다.) npm install ~~ 로 필요한 모듈을 설치 가능하고, npm start로 서버 실행까지 가능하다.
처음 프로젝트를 시작할 때, npm init 명령어를 통해 시작할 수 있다. node상의 package를 바탕으로 프로젝트를 시작하는 것이다.
npm init을 하면 package 정보가 담긴, package.json이 만들어진다.

package.json 기본 정보

  1. dependencies : 이 프로젝트가 돌아가기위해 반드시 필요한 모듈들이 무엇인지가 적혀 있다.
    해당 정보들을 협업으로도 활용 가능한데, 누군가가 코드를 작성하고 다른 사람에게 넘기면,
    그 사람은 npm install이란 명령어를 통해 dependencies에 적혀있는 필요한 모듈들을 한꺼번에 설치할 수 있게 되는 것이다.
"dependencies": {
  "react": "^16.8.6",
}
  1. devDependencies
    : 이 프로젝트를 개발하는 환경에서 필요한 모듈들이 무엇인지가 적혀 있다. 예를 들면 코드 모양을 잡아주는 lint나 테스팅 모듈처럼, 실제 프로젝트 동작에 직접적으로 영향을 주지 않는 모듈들을 명시한다.
"devDependencies": {
  "jest": "^2.3.0",
  "eslint" : "^2.0.0"
}
  1. scripts
    : npm 으로 실행시킬 수 있는 명령어를 정의한다. 명령어를 입력하면 어떤 동작을 해야하는지가 적혀 있다. 예를들면 npm test 명령어를 입력하면 "test.js 파일을 node 에서 실행시켜라!" 하는 내용들이 들어있다. 만약 npm test와 같은 명령어를 실행시켰는데 "정의되지 않은 명령어" 라는 오류 메시지가 나오면, package.json 파일 scripts 에 해당 명령어가 정의되어 있는지를 확인하면 된다.
"scripts": {
  "start": "node app.js",
  "test": "node test.js",
}
profile
코드 한 줄로, 세상의 가치를 만들자🌟

0개의 댓글