React Native

2025-04-18

πŸ“¦ node_modules λ³€κ²½ 사항 patch-package으둜 λ°”λ‘œ μ μš©ν•˜κΈ°

μ˜μ‘΄μ„± λ•Œλ¬Έμ— 맀번 node_modules을 μˆ˜μ •ν•˜μ§€ 말고 ν•œλ²ˆμ— μ μš©ν•΄ 보자!

썸넀일 이미지

ν”„λ‘œμ νŠΈμ— λ‹€μ–‘ν•œ μ„œλΉ„μŠ€κ°€ 좔가될 수둝 μ„œλ“œνŒŒν‹° λΌμ΄λΈŒλŸ¬λ¦¬κ°€ 계속 μΆ”κ°€λœλ‹€. λ¬Έμ œλŠ” λ‚΄ ν”„λ‘œμ νŠΈμ˜ react, react-native λ“± 버전을 올릴 λ•Œ μœ μ§€λ³΄μˆ˜κ°€ λ˜μ§€ μ•Šμ€ μ„œλ“œνŒŒν‹°κ°€ μžˆμ„ λ•Œ λΉŒλ“œκ°€ μ•ˆλ˜λŠ” κ²½μš°κ°€ 생긴닀.

이 경우 μ„œλ“œνŒŒν‹° 라이브러리λ₯Ό node_modulesμ—μ„œ 직접 μˆ˜μ •ν•΄μ„œ μ“°κ²Œ λ˜λŠ”λ° 이 μˆ˜μ •λœ 뢀뢄을 λͺ¨λ“  κ°œλ°œμžλ“€μ΄ npm install μ‹œ 적용될 수둝 있게 ν•˜λŠ” λΌμ΄λΈŒλŸ¬λ¦¬κ°€ patch-package이닀.

μ„€μΉ˜

npm i patch-package

package.json νŒŒμΌμ— λ‹€μŒ 슀크립트λ₯Ό μΆ”κ°€ν•œλ‹€.

"scripts": {
	// ...existing code...
	"postinstall": "patch-package"
 }

μ‹€ν–‰

/node_modules/{somePackage}μ—μ„œ μ½”λ“œ μˆ˜μ •μ„ μ™„λ£Œν•œ ν›„, npx patch-package {somePackage} λͺ…λ Ήμ–΄λ₯Ό μ‹€ν–‰ν•œλ‹€.

νŒ¨μΉ˜κ°€ μ™„λ£Œλ˜λ©΄ {project}/patches 폴더 ν•˜μœ„μ— somePackage+0.71.2.patch 와 같은 ν˜•μ‹μ˜ 패치 파일이 μƒμ„±λœλ‹€.

μœ„ νŒŒμΌμ„ git에 μΆ”κ°€ν•˜λ©΄ λ‹€λ₯Έ κ°œλ°œμžλ“€μ΄ μ†ŒμŠ€λ₯Ό 받은 ν›„, npm install둜 νŒ¨ν‚€μ§€λ₯Ό μ„€μΉ˜ν•  λ•Œ, μˆ˜μ •λœ νŒ¨ν‚€μ§€λ“€μ€ postinstall 슀크립트λ₯Ό 거쳐 원본 μ†ŒμŠ€μ— 패치 파일의 λ‚΄μš©μ„ λ°˜μ˜ν•΄ μ½”λ“œκ°€ μžλ™μœΌλ‘œ λ³€κ²½λœλ‹€

μ΅œκ³ μ‹œλ‹€..πŸ‘πŸ»

Tags:

#node_modules#patch-package#third party#open source