TIL(Today I Learned)

2월 17일(금)

공부한 내용을 제 언어로 빠르게 정리한 내용이라서 잘못된 내용이 있을 수 있습니다.

  • package.json vs package-lock.json
    • 프로젝트에 필요한 의존성을 기재해놓은 json 파일
    • “npm install” 명령을 통해 json 파일에 기재해놓은 의존성 목록을 설치한다.
    • 그러면 node_modules 경로에 의존성들이 설치된다.
    • 그렇다면 lock과 아닌것의 차이는?
      • package.json에는 의존성의 버전 정보가 version range로 기재됨
      • package-lock.json에는 의존성의 버전 정보가 구체적으로 기재됨 (의존성이 최초 추가된 시점의 버전)
      • 이로써 설치 시점, 설치 환경에 따라 의존성 버전 정보가 달라져서 생기는 문제를 방지할 수 있음
  • npm vs npx vs yarn
    • npm: Node Package Manager의 약자로, 의존성이 글로벌에 있으면 글로벌을 사용하고 없으면 로컬에 설치하는 식으로 프로젝트 의존성을 관리해준다.
    • npx: Node Package eXecute의 약자로, 현재 실행할때 필요한 의존성을 설치하여 실행하고 종료되면 삭제한다. 일회성으로 필요한 패키지를 사용할때 좋다. (예: create-react-app)
    • yarn: 페이스북에서 개발한 패키지 매니저. npm은 하나씩 설치하는 반면에 yarn은 병렬적으로 패키지를 설치.

참고