Patch-package에 대해서 아십니까..

srchae·2025년 5월 24일
post-thumbnail

🤓 Intro

React-Native를 개발하게 된 요즘.. 요 며칠 빌드 에러 지옥에 빠져살았다..
expo를 사용한 탓인지.. 여기 저기서 패키지 버전 관련 에러가 발생🤯 하게 되었다

때문에 특정 패키지 내용을 수정하면, 수정한 내용을 언제든 보장 받을 수 있도록 하는 장치가 필요했다.

patch-package란?

node_modules 내 외부 라이브러리 소스를 직접 수정한 후, 그 수정사항을 직접 프로젝트에 반영할 수 있도록 해주는 도구이다.

사용 방법

1. 설치

npm install patch-package --save-dev

2. package.json에 script 추가

"scripts": {
  "postinstall": "patch-package"
}

이후 수정이 필요한 node_modules 내 파일을 수정해준다.

3. 패치 생성

npx patch-package some-package

some-package은 수정하고자 하는 패키지를 의미한다.
해당 작업을 하면 patches/라는 폴더가 생기고 some-package+버전.patch 파일이 생성된다.

이렇게 되면, 다른 개발자가 해당 레포를 clone 하거나 pull 하더라도 해당 패키지 변경 사항을 동일하게 받아볼 수 있어 일관성 있는 코드를 유지할 수 있게 된다!!

마무리

패키지를 직접 수정하면 node_modulesGit에 포함되지 않기 때문에, 다른 개발자나 CI 환경에서는 수정 사항이 반영되지 않는다.
이럴 때 patch-package가 해당 변경 사항을 .patch 파일로 만들어 Git으로 공유할 수 있게 해준다.

node_modules 내 특정 패키지만 쏘옥 빼서 git에 반영할 수 있다니..
매우 신기하고 또 신기했다 😲🥰

profile
🐥집요함과 꾸준함🪽

0개의 댓글