IT STUDY LOG

[(사전준비) 개발 환경 구축] 01. Node.js 설치 본문

devops bootcamp 4/개발 및 배포

[(사전준비) 개발 환경 구축] 01. Node.js 설치

roheerumi 2023. 3. 22. 10:21

# 학습 목표

  • nvm, Nodejs, npm을 설치하고, 버전을 확인할 수 있다.
  • 명령어 node를 이용해 JavaScript 파일을 실행할 수 있다.
  • 스프린트 시작 전 package.json 파일을 확인하고, npm install을 사용할 수 있다.

# 학습 내용

1.  JavaScript Runtime

  • 런타임
    • 프로그래밍 언어가 구동되는 환경
    • 프로그램이 동작할 때 프로그램이 동작하는 곳
  • JavaScript Runtime
    • 웹 브라우저, node.js
  • node.js 실습
# runnode.js 코드
const testFunction = function(arg){
    console.log("Arg is : ", arg);
}

testFunction(20);

# 터미널에서 입력하면 실행
node runnode.js

 

2. nvm & node.js

  • nvm (Node Version Manager)
    • node.js 다양한 버전을 쉽게 설치하고 사용할 수 있는 프로그램
    • 윈도우즈 환경에서는 nvm 사용 불가 
  • nvm 설치
# 터미널에서 아래 명령어 중 하나 입력
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.3/install.sh | bash
wget -qO- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.3/install.sh | bash


# 설치 완료 시 메시지, reboot 필요
oheerumi@devops:~$ curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.3/install.sh | bash
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100 15916  100 15916    0     0  39105      0 --:--:-- --:--:-- --:--:-- 39105
=> Downloading nvm from git to '/home/roheerumi/.nvm'
=> '/home/roheerumi/.nvm'에 복제합니다...
remote: Enumerating objects: 358, done.
remote: Counting objects: 100% (358/358), done.
remote: Compressing objects: 100% (304/304), done.
remote: Total 358 (delta 40), reused 165 (delta 28), pack-reused 0
오브젝트를 받는 중: 100% (358/358), 218.79 KiB | 629.00 KiB/s, 완료.
델타를 알아내는 중: 100% (40/40), 완료.
* (HEAD가 다음 위치에서 분리: FETCH_HEAD)
  master
=> Compressing and cleaning up git repository

=> Appending nvm source string to /home/roheerumi/.bashrc
=> Appending bash_completion source string to /home/roheerumi/.bashrc
=> Close and reopen your terminal to start using nvm or run the following to use it now:

export NVM_DIR="$HOME/.nvm"
[ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh"  # This loads nvm
[ -s "$NVM_DIR/bash_completion" ] && \. "$NVM_DIR/bash_completion"  # This loads nvm bash_completion

# reboot 후 nvm version 확인
roheerumi@devops:~$ nvm --version
0.39.3
  • node.js 설치
# node.js LTS(Long-Term Support) 버전 설치 (가장 최신 버전과 다름, 가장 오래 지원하는 버전)
roheerumi@devops:~$ nvm install --lts
Installing latest LTS version.
Downloading and installing node v18.15.0...
Downloading https://nodejs.org/dist/v18.15.0/node-v18.15.0-linux-x64.tar.xz...
######################################################################### 100.0%
Computing checksum with sha256sum
Checksums matched!
Now using node v18.15.0 (npm v9.5.0)
Creating default alias: default -> lts/* (-> v18.15.0)

# node.js 버전 확인
roheerumi@devops:~$ node -v
v18.15.0

 

3. nvm 간단 사용법

# node.js의 다양한 버전 확인
roheerumi@devops:~$ nvm ls
->     v18.15.0
default -> lts/* (-> v18.15.0)
iojs -> N/A (default)
unstable -> N/A (default)
node -> stable (-> v18.15.0) (default)
stable -> 18.15 (-> v18.15.0) (default)
lts/* -> lts/hydrogen (-> v18.15.0)
lts/argon -> v4.9.1 (-> N/A)
lts/boron -> v6.17.1 (-> N/A)
lts/carbon -> v8.17.0 (-> N/A)
lts/dubnium -> v10.24.1 (-> N/A)
lts/erbium -> v12.22.12 (-> N/A)
lts/fermium -> v14.21.3 (-> N/A)
lts/gallium -> v16.19.1 (-> N/A)
lts/hydrogen -> v18.15.0

# 다른 버전의 node.js를 설치하는 명령어
nvm use 버전넘버  # 예를 들어, nvm use 12.18.3,  nvm use 14.15.5

 

4. npm & package.json

  • node로 js파일 실행하기
# helloWorld.js라는 javscript 파일 생성
roheerumi@devops:~/devops/http_study$ vim helloWorld.js
roheerumi@devops:~/devops/http_study$ cat helloWorld.js 
function helloWorld () {
  console.log("Hello world!");
}

helloWorld();

# node로 실행
roheerumi@devops:~/devops/http_study$ node helloWorld.js 
Hello world!
  • npm과 package.json
    • npm (Node Package Manager) 
      • node.js 생태계의 패키지 매니저
      • 모듈 스토어
    • package.json 
      • 항목 설명
        devDependencies  - 프로그램 실행과 관계 없는 오로지 개발을 위해 필요한 의존성 모음
        - 프로젝트를 개발하는 환경에서 필요한 모듈들이 무엇인지가 (ex) 코드 모양을 잡아주는 lint나 테스팅 모듈처럼, 실제 프로젝트 동작에 직접적으로 영향을 주지 않는 모듈들을 명시
        - install 실행 시 해당 모듈명과 --save-dev 옵션을 명시하면 자동으로 devDependencies에 추가
        scripts  - CLI에서 사용 가능한 명령을 기술
        - npm run <스크립트 이름>으로 실행
        - 주로 실행(start), 테스트(test), 코드 검사(lint) 등을 기
        dependencies - 프로젝트가 돌아가기 위해 반드시 필요한 모듈들
        - --save 옵션(생략 가능)과 함께 설치하면, 자동으로 dependencies에 추가
      • npm 모듈을 활용하기 위해 해당 모듈에 대한 정보를 담은 파일
        • 프로젝트에 대한 정보
        • 프로그램을 실행시키기 위한 모듈이 무엇인지
        • 프로그램을 실행시키는 방법
        • 프로그램을 테스트하는 방법
      • pom.xml과 유사
# package.json에서 필요하다고 하는 모듈을 node_modules 디렉토리를 생성해 다운로드하는 명령어
$ npm install

 

Comments