일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 곧아빠됨
- JWT 토큰
- 스케쳐스아치핏
- 터미널옵션
- JWT 토큰 인증 로그인 쿠키 설정
- .netcore
- 초보
- 메일수신거부 프로세스
- 메일수신거부처리
- json pretty
- 게시판
- classNames
- 마이너스의 의미
- locofy.ai
- typesinstall
- ts7016
- 아들에게
- pnpm
- 개발언어
- ChatGPT
- TS70016
- 개발
- 웹퍼블리셔종말
- 웹퍼블리셔전망
- @types
- nodejs
- c#
- asp.net core
- 하마모양
- 패키지관리자
- Today
- Total
I am maker
yarn -> pnpm으로 전환기 본문
node 진영에는 라이브러리, 모듈을 관리하는 패키지 관리자가 여러개가 있습니다.
기본적으로 node를 깔면 npm이 기본 패키지 관리자인데요,
node_modules를 보면 보통 용량이 1기가가 넘는 경우가 부지기수입니다.
아래부터는 저의 기억에 의존한 썰이므로 재밌게 넘어가주세요~! 아닌게 있으면 댓글부탁드립니다.
예전 npm은 동기식으로 다운로드하여 매우 속도가 느렸던 걸로 알고있습니다.
여기에 획기적으로 나왔던게
yarn이었는데요
yarn은 비동기적으로 node module을 다운로드 받아 속도가 엄청 빨라졌었습니다.
여기에 npm도 다운로드를 동시에 하도록 변경하면서, 둘의 차이가 사라졌다가
yarn에서 monorepo를 위한 yarn workspace 같은 기능도 추가되면서 차별점을 가져가다가,
yarn2, yarn3 가 나오기 시작했습니다.
컨셉은 기존 yarn과는 다르게, 패키지를 한 번만 받자
이런 느낌으로 가져왔는데
이 때 동일한 컨셉이면서도, yarn2를 능가하는 신흥강자
pnpm이 나왔다고 풍문으로만 들었습니다.
사실 yarn2, 3, pnpm이 어떤 이유로 발전했는지 너무 빠른시간내에 변경되었기 때문에,
내용은 자세히 모릅니다.
그렇지만 기존에 제가 쓰던 yarn 보다 속도가 어마무시하게 빠르다고하니
일단 전환 고!
1. pnpm 설치
npm install -g pnpm
2. node module 설치
pnpm install
앞으로는 yarn에서 쓰던 명령어들을 아래처럼 pnpm명령어로 변경해야합니다.
손에 익어서 바꾸는데 쉽지 않네요 ㅎㅎㅎ
터미널에 아래 명령어로 자세한 명령어를 찾을 수 있습니다.
pnpm --help
음... 제일 자주치는 --dev 옵션은 --save-dev로 쳐야하네요
--, -차이에 대해 궁금하신 분들은 아래 글을 참고!
// yarn add --dev a
pnpm add --save-dev a
자세한 help에서 나오는 자세한 명령어에 대한 도움말을 얻으려면 그 명령어 --help를 치시면 됩니다. 예를들어
add 에 대한 도움말은 아래처럼 치면 나옵니다!
pnpm add --help
그리고
package.json에 해놓은 커스텀 스크립트 예를들면, 아래처럼 해놓으면
//package.json
{
...
"scripts":{
"dev": "nodemon",
}
...
}
yarn에서는 run을 생략하고 아래처럼 yarn dev라고 쓰곤했는데요, pnpm은 run 을 넣어줘야합니다.
//yarn dev
pnpm run dev
전환할 때 주의할점이라면?
1. patch-package 못쓰고 pnpm의 기본기능 사용
pnpm에서 기본적으로 patch-package가 있기 때문에,
patch-package를 pnpm용으로 다시 만들어줘야합니다.
2. 다른 패키지매니져들 혼용해서 쓰지 말기
( 팀원 모두 해당 프로젝트에는 pnpm을 써야합니다.)