>  기사  >  개발 도구  >  작성기 명령 소개: 설치, 업데이트 및 차이점

작성기 명령 소개: 설치, 업데이트 및 차이점

藏色散人
藏色散人앞으로
2019-10-21 14:35:583175검색

composer는 PHP용 종속성 관리 도구입니다. 이를 통해 프로젝트가 의존하는 코드 라이브러리를 선언할 수 있으며 프로젝트에 해당 라이브러리가 설치됩니다.

작성기 명령 소개: 설치, 업데이트 및 차이점

그러나 초보자는 "설치" 방법을 모를 수도 있습니다.

인터넷에 있는 답변 중 일부는 작곡가 설치라고 하고 일부는 작곡가 업데이트라고 하는데 둘 다 성공적으로 종속 항목을 다운로드하고 설치할 수 있는 것 같습니다. 그렇다면 둘의 차이점은 무엇입니까?

관련 권장사항: "composer Tutorial"

가장 먼저 이해해야 할 것은 모든 종속성이 작곡가.json에 정의되어 있으며 몇 가지 기본 사용법과 예제가 매뉴얼에 제공된다는 것입니다. 버전 번호를 지정할 때 반드시 정확한 버전을 지정하지는 않는다는 점을 눈치채셨을 것입니다. 그런 다음 동일한 작곡가.json에 대해 서로 다른 시간에 가져오는 종속성 파일이 다를 수 있어(조건이 충족되면 작곡가가 최신 종속성을 가져오기 때문에) 일부 비정상적인 상황이 발생할 수 있습니다.

이 문제를 해결하기 위해 Composer 업데이트 및 Composer 설치가 나타났습니다.

작곡가 업데이트를 실행하면 작곡가는 작곡가.json에 지정된 종속성을 읽고 분석한 후 조건을 충족하는 최신 버전의 종속성을 가져옵니다. 그런 다음 가져온 종속성을 공급업체 디렉터리에 넣고 가져온 모든 종속성의 정확한 버전 번호를 작곡가.잠금 파일에 기록합니다.

작곡가 설치가 수행하는 작업은 매우 유사하며 유일한 차이점은 첫 번째 단계입니다. 로컬에 composer.lock의 복사본이 이미 있는 경우 Composer.json 대신에 Composer.lock을 읽고 이를 표준으로 사용하여 종속성을 다운로드합니다. 로컬에 Composer.lock이 없으면 실제로 수행하는 작업은 작곡가 업데이트와 다르지 않습니다.

즉, Composer.lock의 로컬 복사본이 있으면 시간이 얼마나 지났든 동일한 종속성을 끌어올 수 있다는 것을 보장할 수 있습니다. 그리고 이를 프로젝트의 버전 제어에 통합하면 시스템에 관계없이 프로젝트의 모든 사람과 모든 컴퓨터가 정확히 동일한 종속성을 가져와 배포에 대한 잠재적인 영향을 줄일 수 있습니다. 물론, 사용해야 할 명령은 Composer install이라는 점을 기억하시기 바랍니다.

그렇다면 작곡가 업데이트는 언제 사용해야 할까요? 의존성을 수정할 때, 새로운 의존성을 추가하든, 의존성 버전을 수정하든, 의존성을 삭제하든, 이때 Composer install을 실행하면 아무런 변화가 없지만, 경고 메시지가 뜹니다

Warning: The lock file is not up to date with the latest changes in composer.json. You may be getting outdated dependencies. Run update to update them.

Some 사람들은 내가 종속성을 수정했거나 작곡가.잠금이 만료되었다는 것을 PHP가 어떻게 아는지 궁금해할 것입니다. 매우 간단합니다. Composer.lock을 열면 그 안에 해당 종속성의 해시 값인 해시 필드가 있습니다. 값이 일치하지 않으면 자연스럽게 변화가 일어났다는 것을 알게 될 것입니다.

이때 작곡가 업데이트를 통해 종속성을 업데이트해야 합니다.

설치된 다른 종속성에 영향을 주지 않고 수정한 부분만 업데이트하려는 경우 화이트리스트를 지정하여 업데이트 범위를 결정할 수 있습니다. 예를 들어 작곡가 업데이트 모노로그/모노로그는 종속성 모노로그/몬로그만 업데이트합니다. . 기타 종속성은 업데이트되더라도 무시됩니다.

위 내용은 작성기 명령 소개: 설치, 업데이트 및 차이점의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
이 기사는 xia에서 복제됩니다. 침해가 있는 경우 admin@php.cn으로 문의하시기 바랍니다. 삭제