Migration from NPM to PNPM

modric·2024년 3월 22일
0

세이치즈

목록 보기
7/9
post-thumbnail

우리팀이 yarn에서 PNPM으로 마이그래이션 해야하는 이유

빌드할때 너무너무 오래 걸립니다.

📌 현재 대부분의 패키지 매니저들은 모두 사용하기에 무리가 없는 수준까지 기능이 구성되어 있다. 대부분의 패키지 매니저가 기능성 사이에서 동등함을 보이고 있다. 물론, 그 아래에서 동작하는 방식은 매우 다르다.

pnpm은 npm과 비슷해보이지만, 종속성 관리 측면에서 매우 다른 모습을 보인다. pnpm을 사용하면 성능이 향상되고, 디스크 효율성을 극대화 할 수 있다. yarn classic도 훌륭한 선택지이지만, 레거시로 간주되고 가까운 미래에 지원이 중단될 수도 있는 가능성이 존재해서 선택하는 것을 추천하지는 않는다. yarn berry의 plug n play 는 완전히 새로운 혁신으로 다가왔지만, 아직 그 모든 잠재력을 달성한 것 같지는 않다. 그럼에도 요즘 사람들이 많이 쓰는 패키지 매니저는 yarn berry의 pnp 인 것으로 보인다. 성능과 디스크 효율성, 속도 모두에서 뛰어난 모습을 보이고 있다.

이것 저것 생각하기 쉽지 않고, 또 빠르고 쉽게 접근하고 싶다면 npm을 쓰는 것도 나쁘지 않다. 물론 다른 패키지 매니저에 비해서 성능이나 속도면에서 뒤쳐지는 감이 있지만, 긴 역사를 기반으로 한 많은 문서와 시행착오를 확인할 수 있는 다양한 글들은, 초보자들이 접근하기에는 가장 용이한 선택지가 될 것이다.

출처

npm, yarn, pnpm 비교해보기

마이그레이션 하는 방법

본격적인 작업 전에 권한 설정의 변경이 필요할 수도 있습니다.

다음의 과정은 pnpm install 가 제 싸피 노트북에서 작동하지 않길래 찾아보니 권한 설정 때문이라네요. 그래서 미리 설정하는 거에요

  1. WINDOWS POWERSHELL 오른쪽 클릭해서 관리자권한으로 실행

  2. get-help Set-ExecutionPolicy→ ENTER Y

  3. Set-ExecutionPolicy RemoteSigned

pnpm 설치하기

  1. npm install -g pnpm
  2. 패키지.json에

"preinstall": "npx only-allow pnpm" 추가하기

"scripts": {
    "preinstall": "npx only-allow pnpm",
    "start": "react-scripts start",
    "build": "react-scripts build",
    "test": "react-scripts test",
    "eject": "react-scripts eject"
  },

맨마지막에 "packageManager": "pnpm@8.6.2" 추가하기

  1. pnpm-lock 파일 만들기 pnpm import

회고

우리팀은 프로젝트 중간에 npm에서 pnpm으로 패키지 매니저를 변경하기로 결정하였습니다. 그 방법을 정리했던 것도 올려봅니다.

profile
Github: s01k1m / Email: sk618dev@gmail.com

0개의 댓글