[ 수정한 외부 라이브러리를 사용하는 방법 ] | 커리어리

[ 수정한 외부 라이브러리를 사용하는 방법 ] npm 으로 외부라이브러리를 설치했는데, 내가 원하는 기능을 제공해주지 않아 코드를 조금 건드려서 사용하고 싶은 적이 한 번쯤 있을 겁니다. 저의 사례를 말해보자면, 'react-native-kakao-links' 를 사용하는데 kakao link 경로를 못 찾는 에러 때문에 수동으로 XCode를 열어 지정을 해서 해결했지만 문제는 CI 상에는 XCode를 열 수 없었습니다. 알고보니 project.pbxproj 안에 단 몇줄만 작성하면 끝나는 간단한 일이었습니다. node_modules 에 직접 수정하면 해당 폴더가 버전관리의 대상이 아니라서 다른 팀원들이 자신의 로컬환경에 실행할 때나 node_modules 를 지우고 새로 설치할 일이 생길 때(개발 할 때 매우 빈번하게 발생합니다😂) 파일을 찾아서 수정하는 번거로움이 존재합니다. node_modules에서 소스코드 레벨로 가져오기엔 프로젝트 크기가 커지고 지저분해집니다. 그래서 사용한 방법은 외부라이브러리를 fork 한 레포에 수정사항을 반영하고 fork 레포를 install 하는 방법입니다. 이 방법으로 무사히 에러를 해결했습니다. 오늘 또 비슷한 문제에 직면해서 fork 방식을 사용하려다 더 편한 방법늘 찾았어요! "patch-package" 라는 라이브러리를 사용하는 방법인데요, node_modules 안에서 수정한 코드 부분에 대한 정보를 patch 폴더 안에 저장해서 install 시 변경된 부분을 덮어쓰기해주는 기능을 가지고 있습니다. 버전관리도 쉽고 무엇보다 번거롭게 개별 repo를 새로 생성(fork)하고 push할 필요 없이 로컬에서 커맨드 하나로 수정이 빠르게 이뤄집니다. 자세한 내용은 첨부한 링크를 참조해주세요:) 추가적으로 patch-package 문서에서는 수정사항이 다른 개발자들에게 유용한 가치가 있다면 Pull Request를 하면 좋겠다고 하네요ㅎㅎ (하지만 빨리 개발일정을 소화해야하는 우리는 patch-package에 손이 가지요....😅)

patch-package를 활용한 NPM 패키지 패치(patch) 사례 (feat. React Native)

Medium

2021년 11월 4일 오전 11:04

댓글 0

주간 인기 TOP 10

지난주 커리어리에서 인기 있던 게시물이에요!

현직자들의 '진짜 인사이트'가 담긴 업계 주요 소식을 받아보세요.

커리어리 | 일잘러들의 커리어 SNS