Node.js

3. 패키지 매니저

Howu 2023. 4. 5. 15:16

1) npm

  • Node Package Manager
  • 다른 사람들이 만든 소스 코드들을 모아놓은 저장소
  • 패키지: npm에 업로드 된 노드 모듈
  • 모듈이 다른 모듈을 사용할 수 있듯 패키지도 다른 패키지를 사용할 수 있음

2) package.json으로 패키지 관리하기

  • 현재 프로젝트에 대한 정보와 사용 중인 패키지에 대한 정보를 담은 파일
  • 노드 프로젝트 시작 전 만들고 시작함 (npm init)
{
  "name": "npmtest",
  "version": "1.0.0",
  "description": "",
  "main": "index.js",
  "scripts": {
    "test": "echo \"Error: no test specified\" && exit 1",
    "start": "node index"
  },
  "author": "jihoSong",
  "license": "MIT",
  "dependencies": {
    "body-parser": "^1.20.2",
    "cookie-parser": "^1.4.6",
    "express": "^4.18.2"
  },
  "devDependencies": {
    "nodemon": "^2.0.22"
  }
}

 

3) 글로벌 패키지

npm install --global 패키지명

npm i -g 패키지명

npm install --global rimraf

 

4) npm 명령어

  • npm outdated: 어떤 패키지에 기능 변화가 생겼는지 알 수 있음
  • npm uninstall 패키지명: 패키지 삭제 (=npm rm 패키지명)
  • npm search 검색어: npm 패키지를 검색할 수 있음
  • npm info 패키지명: 패키지의 세부 정보 파악 가능
  • npm adduser: npm에 로그인을 하기 위한 명령어
  • npm whoami: 현재 사용자가 누구인지 알려줌
  • npm logout: 로그인 한 계정을 로그아웃
  • npm version 버전: package.json의 버전을 올림
  • npm deprecate [패키지명] [버전] [메시지]: 패키지를 설치할 때 경고 메시지를 띄우게 함
  • npm publish: 자신이 만든 패키지를 배포
  • npm unpublish: 자신이 만든 패키지를 배포 중단
  • npm unpublish npmtest-3047 --force: 배포 강제 중단