node_modules를 변경해야 하는 경우 어떻게 해야 합니까?
이러한 경우 올바른 동작은 종속성에 접근하고 문제를 열거나 풀 요청을 제출하는 것이지만 종속성이 더 이상 유지되지 않거나 해당 저장소의 개발 프로세스가 중단되거나 느려지면 어떻게 됩니까? 개발을 계속 진행해야 합니까?
그것이 내가 직면한 시나리오였다. 내가 필요로 하는 변경 사항은 매우 현지화되어 있었지만, 백만 번을 시도해도 내 종속성 포크에서 작동하도록 만들 수 없었습니다. 설상가상으로, 리포지토리의 마지막 커밋은 6개월이 넘었고, 일주일 동안 열어본 문제에 대한 답변의 흔적이 없습니다.
그때 앱 작성자가 npm 종속성을 즉시 수정하고 유지할 수 있는 패키지인 patch-package 을 찾았습니다.
ds300 / 패치 패키지
깨진 노드 모듈을 즉시 수정 🏃🏽♀️💨
patch-package
앱 작성자는 즉시 npm을 수정하고 유지할 수 있습니다.종속성. 최첨단에 살고 있는 우리에게 중요한 반창고입니다.
# fix a bug in one of your dependencies vim node_modules/some-package/brokenFile.js # run patch-package to create a .patch file npx patch-package some-package # commit the patch file to share the fix with your team git add patches/some-package+3.14.15.patch git commit -m "fix brokenFile.js in some-package"
Patches created by patch-package
are automatically and gracefully applied when
you use npm
(>=5) or yarn
.
No more waiting around for pull requests to be merged and published. No more forking repos just to fix that one tiny thing preventing your app from working.
설정
In package.json
"scripts": {
+ "postinstall": "patch-package"
}
Then
npm
npm i patch-package
프로덕션 환경에서 npm을 실행할 필요가 없는 경우 --save-dev
를 사용할 수 있습니다. 만약에당신은 웹 프론트 엔드를 만들고 있습니다.…
View on GitHub
README에는 필요한 모든 정보가 있지만 여기서 아이디어를 요약하겠습니다.
패치 패키지에 대한 호출을 포함하도록
scripts
에서 package.json
규칙을 업데이트합니다. "scripts": {
+ "postinstall": "patch-package"
}
수정한 패키지를 지정하여 patch-package를 호출합니다.
(npx | yarn) patch-package package-name
마지막 명령은
patches/
에 패치 파일(diff)을 생성합니다. 이는 공개 종속성과 변경된 버전 간의 diff입니다.이제 당신(또는 누군가)이 리포지토리에 install을 호출할 때마다 patch-package가 호출되어 해당 변경 사항을 적용합니다.
문제 해결됨!
당신은 어때요? 비슷한 조치를 취해야 했던 적이 있습니까?
Reference
이 문제에 관하여(node_modules를 변경해야 하는 경우 어떻게 해야 합니까?), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/thamara/what-if-i-need-to-make-a-change-to-nodemodules-o8e텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)