Composer 2.0 출시로 가져온 성능 최적화, 새로운 기능 및 업그레이드 가이드
Composer 어제 프로그래머의 날에 버전 2.0이 출시되었습니다. 이 버전은 Composer 1.0 베타 버전 출시 직전입니다. PHP 패키지 관리 도구로서 Composer는 8년 만에 코끼리(PHP의 로고는 코끼리입니다)에게 날개를 달아 새로운 확장 패키지(또는 종속성 패키지라고 함) 설치 및 관리 경험을 제공했습니다. 유지 관리 비용이 많이 들 뿐만 아니라 PHP 생태계를 크게 풍요롭게 합니다.
이 새 버전은 많은 새로운 기능을 제공하며, 더 중요한 것은 성능도 크게 향상되었다는 것입니다. 관심이 있으시면 Composer GitHub 리포지토리에서 자세한 업그레이드 세부 정보를 확인하실 수 있습니다. 여기서는 인기 있는 PHP 프로젝트의 새 버전과 이전 버전의 성능 비교, 주요 새 기능 및 업그레이드 방법에 대해 간략하게 소개하겠습니다. 작곡가 2.0.
성능 최적화
새 버전에서는 병렬 파일 다운로드 최적화 및 컬을 사용한 제약 조건 평가를 포함하여 Composer와 packagist.org 사이에 사용되는 프로토콜의 거의 모든 코드를 종속성 해결까지 완전히 리팩토링했습니다(즉, 버전 확장 패키지 제어) 등 이러한 재구성을 통해 속도와 메모리 사용량 측면에서 Composer 2.0이 크게 향상되었습니다.
그러나 이러한 개선의 실제 성능은 특정 사용 시나리오에 따라 다릅니다. 공식은 일부 프로젝트에서 성능이 50% 향상되었다는 보고를 받았지만 모든 시나리오에 적용되는 정확한 수치를 제공하는 기초로 사용할 수는 없습니다. 그렇습니다. 아직 Composer 2.0을 사용하지 않으셨다면 새 버전을 경험하시면 깜짝 놀라실 것입니다.
또한 Composer는 이제 수정된 확장 패키지에 해당하는 메타데이터만 로드하기 때문에 요구/제거 및 일부 업데이트가 이전보다 훨씬 빠릅니다.
다음은 현재 인기 있는 PHP 프로젝트에서 Composer 1과 Composer 2의 속도 최적화를 비교한 것입니다.
보시다시피 Laravel 프로젝트의 경우 성능이 약 4배 향상되었습니다. 저는 개인적으로 Laravel 프로젝트를 초기화하기 위해 이전 버전과 새 버전을 사용해 본 경험이 있으며 실제로 육안으로 볼 수 있는 상당한 속도 향상이 있었습니다.
주요 새로운 기능 개요
Composer 2.0의 몇 가지 중요한 업데이트에 대해 간략하게 살펴보겠습니다.
아키텍처 조정
종속성 업데이트가 내부적으로 수행되는 방식이 리팩터링되었습니다. 이제 보다 결정적인 업데이트를 볼 수 있으며, 업데이트가 완료된 후 설치 프로세스가 자동으로 동시에 실행되므로 설치 중간에 네트워크 문제로 인해 프로세스가 종료되는 것을 방지할 수 있습니다.
새로운 런타임 기능
vendor/autoload.php에는 초기화 중에 플랫폼 감지 단계가 추가되었습니다. 이 단계는 주로 현재 PHP 버전과 확장 팩 버전이 일치하는지 여부를 확인하며, 일치하지 않으면 초기화가 실패합니다.
Composer 2.0 프로젝트에서는 Vendor/composer 디렉터리에서 새로운 InstalledVersions 클래스를 볼 수 있습니다. 이는 각 프로젝트에 자동으로 로드되며 런타임에 유효한 클래스를 확인하는 데 사용할 수 있습니다. 확장팩 및 해당 버전 번호.
코드가 이러한 새로운 런타임 기능에 의존하는 경우 작곡가.json의 필수 구성 항목에 "composer-runtime-api": "^2.0" 종속성 문을 추가할 수 있습니다.
오류 보고서 최적화
Composer 2.0은 종속성을 해결할 수 없을 때 오류 보고서 표시를 최적화합니다. 이제 오류 메시지는 더 짧고 명확하며 덜 반복됩니다.
임시 제약이 있는 부분 업데이트
이제 작곡가 업데이트 공급업체/패키지:1.0.*를 실행하여 지정된 확장 패키지(예: 여기에서는 공급업체/패키지) 버전을 업그레이드할 수 있습니다. 작곡가.json은 업데이트되지 않으며 업데이트되지도 않습니다. 이 임시 제약 조건을 추가하고 동시에 모든 종속성을 업데이트하려면 작곡가 업데이트 --with Vendor/package:1.0.* 명령을 사용해야 합니다.
Composer 2.0으로 업그레이드
Composer 2.0으로 업그레이드하는 것은 매우 간단합니다. 다음 명령을 실행하면 됩니다.
composer self-update --2
일부 Composer 1.0 버전 플러그인은 이후 버전에서 지원되지 않을 수 있습니다. Composer 2.0을 업그레이드하면 새로운 플랫폼 감지 메커니즘이 런타임 PHP 버전과 확장 패키지 버전이 일치하는지 감지합니다. 이는 이전의 일반 확장 패키지 종속성 해결에 문제를 일으킬 수 있습니다. 작곡가 self-update --rollback 또는 자체 작곡가를 사용할 수 있습니다. -update --1 명령은 이전 버전의 Composer로 롤백합니다. 자세한 내용은 Composer 업그레이드 가이드를 읽어보세요.