> 개발 도구 > composer > 본문

Composer.josn과 Composer.lock의 차이점, Composer install과 Composer update의 차이점에 대한 자세한 설명

藏色散人
풀어 주다: 2019-10-16 16:47:17
앞으로
3044명이 탐색했습니다.

다음 칼럼에서는 composer tutorial에서 Composer.josn과 Composer.lock의 차이점, Composer install과 Composer update의 차이점을 소개하겠습니다. 도움이 필요한 친구들에게 도움이 되길 바랍니다!

Composer.josn과 Composer.lock의 차이점, Composer install과 Composer update의 차이점에 대한 자세한 설명

문제 설명

문서의 잘못된 안내로 인해 기존 프로젝트에 확장 패키지를 추가해야 하는 경우가 많습니다. 다음 그림은 이 문서에서 가져온 것입니다.

Composer.josn과 Composer.lock의 차이점, Composer install과 Composer update의 차이점에 대한 자세한 설명

composer update 명령 현재 논리에서는 이로 인해 프로젝트에 큰 피해가 발생할 수 있습니다.

작곡가 업데이트의 논리는 작곡가.json에 지정된 확장 패키지 버전 규칙에 따라 모든 확장 패키지를 최신 버전으로 업데이트하는 것이기 때문입니다. 참고로, 예를 들어 시작 부분에 모노로그를 사용했습니다. project. 당시 구성정보는

"monolog/monolog": "1.*" 였는데,

는 monolog 버전 1.1로 설치되었는데, 한 달이 넘은 지금, 명령어를 실행하니 벌써 monolog가 1.2가 되어있습니다. , 1.2로 직접 업데이트되었습니다. 현재 프로젝트는 1.2에 대한 테스트를 거치지 않았으며 프로젝트가 갑자기 매우 불안정해질 수 있습니다. 특히 대규모 프로젝트에서는 전체 내용을 작성하지 않은 경우 더욱 그렇습니다. 프로젝트 테스트 중인데 뭔가 고장난 줄도 모르고요?

그럼 어떤 composer 명령을 사용해야 할까요? 설치, 업데이트 또는 요구?

다음으로 하나씩 설명드리겠습니다.

간단한 설명

composer 설치 - Composer.lock 파일이 있으면 직접 설치하고, 그렇지 않은 경우에는 Composer.json에서 최신 확장 패키지 및 종속성을 설치합니다.

composer 업데이트 - Composer에서 최신 확장 패키지 및 종속성을 설치합니다.

composer 공급업체/패키지 업데이트 - Composer.json 또는 해당 패키지의 구성을 최신 버전으로 업데이트합니다.

composer require new/package - 새/패키지를 추가하고 설치하면 버전을 지정할 수 있습니다. 예: 작곡가 필요 신규/패키지 ~2.5.

Process

모두의 이해를 돕기 위해 몇 가지 일상적인 제작 과정을 소개하겠습니다.

프로세스 1: 새 프로젝트 프로세스

composer.json을 생성하고 이에 의존하는 확장 패키지를 추가합니다.

작곡기 설치를 실행하고, 확장 패키지를 설치한 후 작곡가.lock을 생성합니다.

composer.lock을 코드 버전으로 제출합니다. git과 같은 컨테이너에서

프로세스 2: 프로젝트 공동 작업자가 기존 프로젝트를 설치합니다.

프로젝트를 복제한 후 루트 디렉터리에서 직접 작곡가 설치를 실행하여 지정된 버전의 확장 패키지와 해당 프로젝트를 설치합니다.

이 프로세스는 프로덕션 환경 코드 배포에 적합합니다.

프로세스 3: 프로젝트에 새 확장 패키지 추가

작곡서 요구 공급업체/패키지를 사용하여 확장 패키지를 추가합니다.

업데이트된 작곡가.json 및 작곡가.잠금을 다음과 같이 코드 버전 컨트롤러에 제출합니다. git;

composer.lock 파일에 대하여

composer.lock 파일은 각 코드 종속성의 버전 기록을 저장하고(아래 그림 참조) 이를 버전 컨트롤러에 제출한 후, 작곡가 설치와 함께 사용하여 팀의 모든 협력자 개발 환경과 온라인 생산 환경에서 실행되는 코드 버전의 일관성.

Composer.josn과 Composer.lock의 차이점, Composer install과 Composer update의 차이점에 대한 자세한 설명

확장팩 설치 방법에 대하여

그래서 확장팩을 추가하려는 경우 install, update, require 세 가지 명령을 사용하여 확장팩을 설치할 수 있습니다. 선택하는 것이 옳은가?

답은: Composer require 명령을 사용하세요

또한, Composer.json을 수동으로 수정하여 확장 패키지를 추가한 후, Composer update new/package를 사용하여 지정된 확장 패키지를 업데이트할 수 있으며, 이 패키지도 올바르게 설치할 수 있습니다. 하지만 이 방법은 권장되지 않습니다. 후속 확장 패키지 이름을 확정하는 것을 잊어버리면 영원한 파멸의 상태에 빠지게 되므로 함정에 빠지지 마십시오.

위 개념은 초보자나 베테랑에게 매우 혼란스럽습니다. 기억해야 할 가장 중요한 점은 다음 개념입니다.

원래 프로젝트에 추가된 새 확장은 Composer require new/package를 사용하여 설치해야 합니다.

버전을 추가해야 하는 경우

composer require "foo/bar:1.0.0"

지정된 확장을 지정된 버전으로 업데이트하세요

때때로 이전에 사용했던 확장 패키지에 새로운 기능이 추가되어 원하는 경우가 있습니다. 이 확장만 업데이트하려면 특정 버전으로 패키징하려면 require를 사용하여 작동할 수도 있습니다.

아래 예와 같이 "sami/sami": "3.0."을 "sami/sami": "3.2."

Composer.josn과 Composer.lock의 차이점, Composer install과 Composer update의 차이점에 대한 자세한 설명

명령줄 작업:

Composer.josn과 Composer.lock의 차이점, Composer install과 Composer update의 차이점에 대한 자세한 설명

으로 업데이트해야 합니다.

오버!

위 내용은 Composer.josn과 Composer.lock의 차이점, Composer install과 Composer update의 차이점에 대한 자세한 설명의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

관련 라벨:
원천:learnku.com
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿