programing tip

composer.lock : 어떻게 작동합니까?

itbloger 2020. 12. 8. 07:49
반응형

composer.lock : 어떻게 작동합니까?


이 부분을 이해하려고 노력 중입니다 : http://getcomposer.org/doc/02-libraries.md#lock-file

이 잠금 파일은 종속 된 다른 프로젝트에 영향을주지 않습니다. 메인 프로젝트에만 영향을 미칩니다. "

즉, 프로젝트 P가 라이브러리 A에 의존하고 라이브러리 A가 라이브러리 B v1.3에 의존한다면 프로젝트 P는 라이브러리 B의 버전에 대해 신경 쓰지 않고 대신 B 1.4를 설치할 것입니까? 그렇다면 요점은 무엇입니까?

아니면 의존성 관리자에서 기대할 수있는 반대를 의미합니까?


Composer 종속성은 composer.json. composer 설치를 처음 실행하거나 composer 업데이트를 실행할 때라는 잠금 파일 composer.lock이 생성됩니다.

인용 된 문서는 잠금 파일만을 참조합니다. 프로젝트 P가 라이브러리 A에 종속되고 A가 B v1.3. ***에 종속 된 경우 A에 누군가 "작곡자 업데이트"를 실행하여 B v1.3.2가 설치된다는 잠금 파일이 포함 된 경우 A를 프로젝트에 설치합니다. composer.json( .lock!)가 1.3. *에 대한 종속성을 정의 했기 때문에 P는 여전히 1.3.3을 설치할 수 있습니다 .

잠금 파일에는 항상 정확한 버전 번호가 포함되며 테스트 한 버전을 동료에게 전달하거나 응용 프로그램을 게시 할 때 유용합니다. 라이브러리의 경우 종속성 정보 composer.json가 중요합니다.


composer.lock설치된 정확한 버전을 기록합니다. 따라서 동료와 동일한 버전을 사용합니다.

작곡가 설치

  • composer.lock파일 확인
  • 그렇지 않은 경우 composer.lock파일 자동 생성 (사용 composer update)
  • composer.lock파일에 기록 된 지정된 버전 설치

작곡가 업데이트

  • composer.json파일 살펴보기
  • 언급 된 버전 기준 (예 : 1.12. *)에 따라 최신 (최신) 버전의 가용성을 확인합니다.
  • 가능한 최신 버전 (위에 따라) 설치
  • composer.lock설치된 버전으로 파일 업데이트

그래서 간단한 체크리스트에 있습니다.

모든 동료를 동일한 버전으로 유지하려면 ...

  • composer.lockGIT (또는 보유한 vcs)에 커밋
  • 다른 사람에게 해당 버전의 composer.lock파일 을 가져 오도록 요청
  • composer install올바른 종속성을 얻기 위해 항상 사용

시스템 종속성을 새 버전으로 업그레이드하려는 경우

  • 버전 사양은 composer.json 파일을 확인하세요.
  • composer update
  • composer.lock최신 버전으로 파일 이 변경 됩니다.
  • GIT (또는 vcs)에 커밋
  • 다른 사람들에게 그것을 구하고 composer install

다음은 https://blog.engineyard.com/2014/composer-its-all-about-the-lock-file 매우 좋은 읽기입니다.

composer.lock파일 의 힘을 즐기십시오 !


잠금 파일의 요점은 설치된 정확한 버전을 기록하여 다시 설치할 수 있도록하는 것입니다. 즉, 버전 사양이 1. *이고 동료가 composer update1.2.4를 설치 한 다음 composer.lock 파일을 커밋 composer install하면 1.3.0 인 경우에도 1.2.4도 얻게됩니다. 출시되었습니다. 이렇게하면 프로젝트에서 작업하는 모든 사람이 동일한 버전을 사용할 수 있습니다 . 자세히보기 Composer : 잠금 파일에 관한 모든 것

참고 URL : https://stackoverflow.com/questions/10674641/composer-lock-how-does-it-work

반응형