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은 병렬적으로 패키지를 설치.
참고
- https://velog.io/@songyouhyun/Package.json%EA%B3%BC-Package-lock.json%EC%9D%98-%EC%B0%A8%EC%9D%B4
- https://www.daleseo.com/js-package-locks/
- https://ljh86029926.gitbook.io/coding-apple-react/undefined/npm-npx
- https://webruden.tistory.com/275
- https://velog.io/@gth1123/npx-%EB%9E%80
- https://velog.io/@kysung95/%EA%B0%9C%EB%B0%9C%EC%83%81%EC%8B%9D-npm%EA%B3%BC-yarn