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
'직장생활 > Javascript, Nodejs' 카테고리의 다른 글
Airflow에서 특정 DAG의 실행 시간을 현재시간과 비교하여 slack으로 메시지를 보내주는 코드. (0) | 2022.06.19 |
---|---|
Axios 기본 및 사용법, 옵션 (0) | 2022.05.31 |
[javascript] JSON.parse, JSON.stringify, toString() 차이 (0) | 2022.05.23 |
[javascript] '=='와 '==='의 차이 (0) | 2022.05.23 |
[javascript] [AWS] S3에서 이벤트가 발생할 때마다 lambda가 실행되게 하는 nodejs 코드 해석 (0) | 2022.05.22 |