일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- RTK Query
- CI/CD
- dfs
- Jest
- 이분 검색
- 타입 좁히기
- recoil
- 무한 스크롤
- app router
- autosize
- CORS
- async/await
- map
- TS
- React
- 반공변성
- webpack
- Promise
- 공변성
- ESlint
- 결정 알고리즘
- SSR
- 인터섹션
- 투포인터
- 호이스팅
- 태그된 유니온
- 리터럴 타입
- useAppDispatch
- tailwind
- Cypress
- Today
- Total
짧은코딩
npm과 yarn 본문
npm
우선 npm은 Node Package Manager이다. JS를 위한 패키지 관리 툴이다. npm은 Node.js에 내장되어 있다. 결국 이런 관리 툴인 npm을 이용해서 공개되어 있는 모듈을 쉽게 설치하고 사용할 수 있다.
-package.json
package.json은 프로젝트 정보와 의존성을 관리한다. 어떤 패키지를 사용하고 버전도 확인이 가능하다.
yarn
yarn은 npm과 같은 기능을 수행하지만 yarn이 좀 더 가볍다. yarn은 페이스북에서 만든 JS 패키지 매니저이다. yarn은 npm의 단점을 보완하기 위해서 만든 매니저 툴이다. npm의 단점으로는 속도(performance), 안정성(stability), 보안성(security) 등이 문제이다.
-속도
따라서 yarn은 다운 받은 패키지 데이터를 캐시에 저장해 중복된 데이터를 다운하지 않는다. 그렇기에 속도가 더 빠르다.
-안정성, 보안성
npm은 패키지 설치 시 코드와 의존성을 자동으로 실행할 수 있다. 이로인해 편하지만 안정성이 문제가 된다. yarn은 yarn.lock와 package.json만 설치한다. yarn.lock는 모든 디바이스에 같은 패키지를 설치해서 버전 차이로 인한 버그를 방지해준다.
하지만 yarn은 npm에 비해서 접근성이 좀 떨어진다. 왜냐하면 brew나 npm을 통해서 한 번 더 설치가 필요하기 때문이다.
결론
yarn이 이미 속도와 안정성은 npm보다 좋다. 하지만 아직 많은 사람들이 npm을 사용한다. 각 패키지마다 장단점이 있으니 상황에 맞는 패키지를 사용하는 것이 좋을 것 같다. 아직 npm만 사용해본 입장으로써 나중에 프로젝트를 할 때 yarn도 직접 사용해보고 싶다. 그리고 앞으로의 경향에 맞춰서 yarn도 예의주시가 필요하다고 생각했다.
출처
https://velog.io/@kysung95/%EA%B0%9C%EB%B0%9C%EC%83%81%EC%8B%9D-npm%EA%B3%BC-yarn
'리액트' 카테고리의 다른 글
@로 태그 가능한 MentionsInput, textarea 박스를 위한 autosize 라이브러리 (0) | 2022.08.23 |
---|---|
리액트에서 fontawesome 적용하기 (0) | 2022.08.16 |
axios 요청 시 주의 사항 (0) | 2022.08.12 |
모달 기능 구현 방법 (0) | 2022.08.09 |
stopPropagation() (0) | 2022.08.08 |