package-lock.json'을 삭제하여 충돌을 신속하게 해결
팀 구성에서는 보통 병합 충돌이 발생했습니다.package-lock.json
그리고 저의 빠른 해결책은 항상 파일을 삭제하고 재생성하는 것이었습니다.npm install
저는 이 수정의 의미에 대해 심각하게 생각해 본 적이 없습니다. 왜냐하면 이전에 인식 가능한 문제를 일으킨 적이 없기 때문입니다.
파일을 삭제하고 다음을 수행하는 데 문제가 있습니까?npm
충돌을 수동으로 해결하는 대신 그런 방식으로 다시 작성하시겠습니까?
네, 모든 프로젝트에 정말 나쁜 영향을 미칠 수 있고 영향을 미칠 것입니다.
당신의 팀이 뛰지 않는 경우
npm install
각각의 뒤에git pull
모두 다른 종속성 버전을 사용하고 있습니다.그래서 그것은 "하지만 나에게는 효과가 있다!"와 "나는 왜 내 코드가 당신에게 효과가 없는지 이해할 수 없다"로 끝납니다.모든 팀이 달려도
npm install
그것은 여전히 모든 것이 괜찮다는 것을 의미하지 않습니다. 어느 순간 당신은 당신의 프로젝트가 다르게 행동한다는 것을 발견할지도 모릅니다.몇 년 동안 변경하지 않은 부분이 있습니다. 디버깅을 수행한 후 3단계 종속성이 다음 주요 버전에 대해 업데이트되었으며 이로 인해 일부 변경 사항이 발생했습니다.
결론: 절대로 삭제하지 마십시오.package-lock.json
.
예, 1단계 종속성의 경우 범위 없이 지정하면 다음과 같습니다(예:"react": "16.12.0"
) 실행할 때마다 동일한 버전이 표시됩니다.npm install
그러나 깊이 2+ 수준의 종속성(의존성이 의존하는 종속성)에 대해서는 동일하게 말할 수 없습니다.package-lock.json
안정성을 위해 정말 중요합니다.
당신의 경우 다음 방법을 사용하는 것이 좋습니다.
- 갈등을 해결하다
package.json
- 달려.
npm install
보이는 것만큼 쉽습니다.실도 마찬가지입니다. 잠금 파일 충돌을 자체적으로 해결합니다.여기서 모든 충돌을 해결하기 위한 유일한 요건입니다.package.json
사전에
문서당 npm이 병합 충돌을 수정합니다.package-lock.json
널 위해서.
[2021년부터 업데이트] 중요!만약 당신이 이미 일부 라이브러리를 사용하고 있고 그것의 유지 관리자의 npm/GitHub 계정이 해킹을 당한다면요.그리고 악성코드가 내장된 새로운 버전이 출시됩니다.그리고 당신은 그렇게 했어요.package-lock.json
온전하게괜찮을 겁니다.만약 당신이 그것을 떨어뜨린다면 당신은 곤경에 처할 것입니다.
네, 나쁜 부작용을 일으킬 수 있습니다. 자주는 아니지만 예를 들어 패키지로 만들 수 있습니다.json"moduleX": "^1.0.0"
그리고 당신은 예전에"moduleX": "1.0.0"
에package-lock.json
.
삭제함으로써package-lock.json
러닝npm install
모듈 X의 1.0.999 버전으로 업데이트할 수 있으며 버그를 만들거나 역방향으로 변경했을 수 있습니다(의미론적 버전을 따르지 않음).
어쨌든 이미 표준 솔루션이 있습니다.
- 내부충 내부의 합니다.
package.json
- 실행:
npm install --package-lock-only
자세한 내용은 다음 링크를 참조하십시오.
https://docs.npmjs.com/cli/v6/configuring-npm/package-locks#resolving-lockfile-conflicts
오래된 질문인 것은 알지만 미래의 탐색자들을 위해서는 npm 관련 파일의 병합 문제를 자동으로 해결하려고 시도하는 npm-merge-driver를 사용할 수도 있습니다.
전체적으로 설치하기만 하면 됩니다.npx npm-merge-driver install --global
여기에서 npm-merge-driver에 대한 자세한 내용을 읽을 수 있습니다.
편집: 위의 패키지를 사용하는 데 관심이 있는 사람들에게 때때로 패키지가 비정상적으로 작동하고 제거하기 어려울 수 있다는 것을 경고하고 싶습니다.그래서 비록 그것이 유용한 도구이지만, 여전히 약간의 작업이 필요합니다.
편집: 이 리포지토리는 이제 보관되고 읽기 전용입니다.
npm i --force
입니까?
언급URL : https://stackoverflow.com/questions/54124033/deleting-package-lock-json-to-resolve-conflicts-quickly
'source' 카테고리의 다른 글
Android Studio에서 레이아웃 미리보기는 어디에 있습니까? (0) | 2023.09.01 |
---|---|
PowerShell 디스플레이 파일 크기(KB, MB 또는 GB) (0) | 2023.09.01 |
마리아의 데이터를 업데이트하기 위해 WPF 클라이언트에 메시지를 보내기 위한 신호 RDB (0) | 2023.09.01 |
내용 페이지에서 마스터 페이지 컨트롤에 액세스하는 방법 (0) | 2023.09.01 |
JSON 개체를 ASP로 전송했습니다.NET WebMethod, jQuery 사용 (0) | 2023.09.01 |