PM(packgemanager)

tmdwns1521·2022년 4월 28일
0

패키지 매니저

패키지란 무엇인가?

  • 코드의 배포를 위해서 사용되는 코드의 묶음
  • 라이브러리나 실행 파일을 포함한다.

패키지 매니저란 무엇인가?

  • 패키지를 다루는 작업을 편하게 사용할수 있게 하는 툴, 패키지를 설치 , 수정 삭제 작업을 의미한다.

패키지 매니저의 종류

Npm이란?

  • Node Package manager
  • Node JS 설치 필요
  • 자바스크립트 (모듈, 라이브러리)
  • 개발자들이 공유 또는 재사용 가능
💡 npm이 없었을때는 필요로 하는 기능을 추가하기 위해서는 직접 코드를 작성하거나 github에 있는 코드들을 다운로드를 했지만 node.js를 설치하게 되면 기본적으로 npm이 내장 되어있기 때문에 추가가 가능해 졌다.

package.json

💡 packege.json은 프로그램에 전반적인 정보를 담고 있으면서, 의존성을 관리하는 하나의 문서라고 볼수 있다.
{
  "name": "node_web",
  "version": "1.0.0",
  "description": "",
  "main": "index.js",
  "scripts": {
    "server": "nodemon main.js"
  },
  "repository": {
    "type": "git",
    "url": ""
  },
  "author": "",
  "license": "ISC",
  "bugs": {
    "url": ""
  },
  "homepage": "",
  "dependencies": {
    "@types/express": "^4.17.13",
    "autoprefixer": "^10.4.2",
    "express": "^4.17.3",
    "mysql": "^2.18.1",
    "nodemon": "^2.0.15",
    "postcss": "^8.4.6",
    "postcss-cli": "^9.1.0",
    "pug": "^3.0.2",
    "tailwindcss": "^3.0.23"
  },
  "devDependencies": {
    "mongodb": "^4.3.1",
    "mongoose": "^6.2.2",
    "prettier": "^2.5.1"
  }
}
💡 이런식으로 어떤 패키지를 사용했는지 버전은 어떻게 되는지를 확인할수가 있어서 쉽게 개발 환경을 그리고 동일하게 구성을 할수가 있다.

yarn

💡 페이스북에서 만든 패키지의 종류로 npm과 기능이 다를게 없다. 하지만 중요한건 yarn이 등장하게 된 이유는 npm의 단점을 보안을 하기 위해서 나온것이다.

npm VS yarn

npm, yarn 설치 방법

💡 npm에서는 여러개의 패키지를 설치할때는 **현재 진행하고 있는 패키지가 끝나기 전까지는 기다렸다가 다음으로 넘어**가지만, **yarn은 반대로 병렬식으로 설치**를 하기 때문에 속도가 빠르다는것을 알수가 있다.

npm, yarn 보안

💡 npm은 다른 패키지가 즉시 포함될 수 있도록 하는 코드를 자동으로 실행하므로 보안 시스템에 여러 취약점이 발생하는 반면 **yarn은 yarn.lock 또는 package.json파일에서만 해당 파일을 설치하기 때문에 npm 보다 yarn이 더 안전하다고 보고 있다.**
profile
RECORD DEVELOPER

0개의 댓글