반응형

nvm(node version manager): 여러 버전의 node.js 설치 전환 가능.

. LTS(Long Term Supported) 장기적 안정된 버전. 유지보수 목적의 사용자에게 추천. 짝수 버전 (ex. 8.x.x.)

. Current(현재 버전): 최신 기능 제공, 업데이트 잦고 기능 자주 변경. 개발/테스트에 적당. 홀수 버전 (ex. 9.x.x)

 

npm(node package manager): nodejs에 사용되는 각종 코드 패키지 == 앱스토어st

 

. 설치여부, 버전 조회

$ node -v

  v8.9.4

$ npm -v

  5.6.0

 

. 패키지 매니저로 설치

. macOS - Homebrew (Homebrew: macOS용 패키지 관리자)

$ brew install node@8. // Major number만 입력

$ brew install nvm // nvm 설치

 

. NVM: node.js는 버전이 자주 바뀌어서 버전 관리 매니저 설치 필요.

$ curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.34.0/install.sh | bash // NVM 설치

    . 설치 완료 후 ~/. bash_profile, ~/.zshrc, ~/.profile 에 nvm.sh이 실행되도록 아래 스크립트가 자동 추가됨.

       export NVM_DIR="$HOME/.nvm"

$ . ~/.nvm/nvm.sh // nvm 활성화

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

 

$ nvm install 16.14.0 // 16.14.0 노드 설치 

$ node -v // 노드 버전 조회

 

$ npm init -y // default 값으로 설정된 package.json을 만듦 

(index.js 만들면 js script 들어오고. main으로 이걸 실행시키겠다. 라고 pakcage.json 들어옴. )

 

 

. 원하는 nvm version 설치

$ nvm install <version> // nvm install 8.9.4

 

. 설치된 Node 버전 목록 확인

$ nvm ls

 

. 사용할 Node 설정

$ nvm use <version> // nvm use 8.9.4

$ nvm use <alias> // nvm use default

 

 

. package.json (프로젝트 정보와 의존성을 관리하는 문서)

어느 곳에서도 동일한 개발 환경을 구축할 수 있게 해줌. json format.

 

{

  "name": "project-name",

  "version": "1.0.0",

  "keywords": [], // npm search 사용 시 도움됨

  "description": "",   // 프로젝트 (패키지) 설명. npm search 시 도움됨

  "main": "index.js",  // 프로그램의 기본 진입 점(entry point)

  "scripts": {. // pkg 라아프 사이클에서 여러 번 실행되는 스크립트 명령. 

    "test": "echo \"Error: no test specified\" && exit 1"

  },

  "author": "HEROPY",

  "license": "MIT",

  "dependencies": {},       // 패키지 배포 시 포함될 의존성 모듈 지정

  "devDependencies": {}  // 개발 시 사용될 의존성 모듈 (배포 시는 포함되지 않음) 

  “files” // 패키지가 의존성으로 설치될 때 같이 포함된 파일들의 배열. 생략하면 모든 파일이 포함됨.

  “bugs”: { } // 패키지에 문제가 있을 때 보고될 이슈 트래커 및 이메일 주소 등에 대한 url

  “repository”: {} // 코드가 존재하는 장소. github 주소 지정 

} 

 

// package-lock.json: 개발 환경에서 내부 모듈 변경(ex. 버전)이 있을 경우, 

이를 방지하기 위해 package.json을 수정하는 모든 작업에 대해 package-lock.json이 자동으로 생성됨. 

 

. 의존성 모듈 설치

$ npm install <package>@<version>

 

. 전역으로 모듈 설치

$ npm install -g webpack  // -g 플래그

 

. 오래된 패키지 확인

$ npm outdated     // 설치된 패키지가 구형인지 확인하기 위해 레지스트리 검사

 

. 패키지를 최신 버전으로 업데이트

$ npm update <package>

$ npm upgrade   // pkg 입력하지 않으면 지정된 위치의 모든 패키지 업데이트

 

. 패키지 제거

 $ npm uninstall <pkg>

 $ npm remove

 $ npm unlink

 

. dockerfile

FROM node:12-alpine

WORKDIR /usr/src/app

MAINTAINER Jane Baek

RUN mkdir -p /usr/src/app

ADD . /usr/src/app

RUN npm install --silent

 

반응형

+ Recent posts